Lazy Loadが動いていなかった・・・

いきなりだけど、いつも使っているWebブラウザはMozilla系のPale Moonを使っているんです。
Windows用に最適化されて64bit版もあるのでイイカンジなのだけれど問題が・・・。

ベースがFirefox 24からバグ修正などを行っている物なのでユーザーエージェントはこんな感じ
 Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:24.7) Gecko/20140802 Firefox/24.7 PaleMoon/24.7.1
そう、Firefox 24として認識されるので、いくつかのWebサイトでは「最新のFirefoxブラウザを使ってくれ」と表示が出てアクセスできなくなる。
ユーザーエージェントを偽装してもJavaScript関連のエラーで正しく表示できない始末。ヽ(`Д´)ノ
 
じゃあブラウザ乗り換えを視野に入れてブラウザを探すか・・・と言うことで、幾つか試してみました。
 ・Google Chrome
  最近になってマーケットで入手した拡張以外は使用できなくなったので論外
 ・Sleipnir
  国産、うんこれだけでも使って良いかなーって思う。
  そして文字は綺麗でちょっとごつい、だけど独自のタブがイヤw
 ・Iron
  バージョンアップしていたからクラッシュ問題が直っているかと思ったけどダメだった
 ・Cyberfox
  Pale Moonとよく似ていて良いけどFlashやSilverright等プラグインが起動すると一気に不安定に。
って事で知っていたのを試したけどダメ。
 
どうしようーと思っていたら、そうだ!Operaがあるじゃない!って事で試してみる。
自動ダウンロードされたインストーラのファイル名がChromeやIronとよく似た名前だなー・・と思っていたら、なんといつの間にかOpera独自のエンジンじゃなくChromium系になっているではないか・・・
自分で作った拡張使えないじゃない!キャッカ-!って思って2chの過去スレを見てみると、なんとOperaさんは拡張を自由に使えるようになっているみたい。
これはナイスだ(´ー`)
 
とりあえず、拡ty・・の前にテーマが楽に変更できるようなので変更してみた。
Opera 24
1600x1200の画像をフォトショで1920x1080サイズへ変更。
右側が荒いけど・・自動でここまで補完してくれるなんてフォトショ様様だー

拡張はAdblock Plus、AutoPatchWork、Download Chrome Extension、SmoothScrollを入れました。
その都度追加していったりするけどね-。
 
で、Adblockや独自拡張が動いているか動作テストに自分のサイトを表示。
うん動いている。
何となく動画を貼ったページを見てみる・・・アレ表示されない。
 
うちのブログは画像とiflameを必要になったときだけ読み込むLazy Loadってのを使っているんだけど、
どうやらiflameだけそれが動いていないよう。

デバッグしてみるとcontentDocumentでundefined・・未定義でエラーが発生していた。
あれ・・?contentDocumentって全ブラウザ対応じゃなかったっけ、確かリファレンスにも書いていたような。
と思って調べてみると、ちゃんと全ブラウザ対応してる。

訳わからないからjQueryさんにおまかせ!と言うことで、contents()を使ってみたけどこれもダメ。(´・ω・`)
 
で色々検索してみると・・・
http://stackoverflow.com/questions/1654017/how-to-expose-iframes-dom-using-jquery
jQueryのcontents()はクロスブラウザを考えていないみたいで、動かなかったのはその為なんだって。
で、マルチブラウザ用のコードは

var iframe = ...HTMLIFrameElement...;
var iframewindow = iframe.contentWindow ? iframe.contentWindow : iframe.contentDocument.defaultView;

これでいいらしい。
あれ?contentDocument使ってるじゃん。
え、あ・・そうなのdefaultViewが必要なの・・そうなの・・知らなかった。
だってFirefoxがcontentDocumentだけで動いてたんだよーヽ(`Д´)ノ

と言うことで、Chromium系ブラウザでもちゃんと動画が再生されるようになりました。
 
よし、これを記事にしよう!と思ってブログの管理画面に入ろうとしたけれどページが表示されない。
Chromeではちゃんとクライアント証明書の確認画面がでるのにOperaではでずタイムアウトしておわり。

今のOperaヘルプはOpera 12の時と比べてゴミみたいな内容だし・・Google先生に聞いても情報がない。
Operaではクライアント認証できないのかもしれない。Operaだけは昔もできなかったしねー

原因はまた後で調べてみよう。

関連するかもしれない記事



トラックバックURL


スパム対策のためトラックバックURLを動的に生成しています。
生成されるトラックバックURLはコンテンツURLと紐付けされますので、コンテンツURLで指定したサイト以外では使用できませんのでご注意ください。
トラックバックの注意事項などの詳しい説明は About ページを閲覧してください。
「コンテンツURL」を入力し「URL生成」ボタンを押してください。
トラックバックを送る際はあなたの記事やコンテンツにこの記事のURLを書くかリンクしておいてください。
URLがない場合はスパムとして削除され以降の全トラックバックは拒否されます。

コメントを残す

メールアドレスは公開されません、また は必須項目です。
このブログに初めてコメントする方は こちら をご覧ください。


画像認証は待機中です、先にコメント本文を入力して下さい。

コメントを送信しています、しばらくお待ち下さい...
(Akismetスパムデータベース及びブラックリストへの照会を行っています)


キャンセルをした場合でもコメント投稿が完了している場合があります