Youtubeと広告ブロック | ultimate-negiのブログ

ultimate-negiのブログ

Pro Tools関係の情報を中心に、その他思ったことなどをメモ代わりに書いています。

特定の環境においてYoutubeの挙動がおかしくなる現象に出会いました。あくまで「特定の」環境なので、まったく問題なく使えている方も多いと思います。

 

その問題のある環境とは以下をすべて満たしている場合です。

 

  • ブラウザがSafariである
  • 広告ブロック・プラグインを使用している(AdBlockなど)
  • JavaScriptブロック・プラグインを使用している(JS Blockerなど)
 
上記の環境であっても動画の閲覧は問題なく可能ですが、よく見るとブラウザのURLの情報が変化していないことに気づくと思います。トップページから入った場合は、どんな動画を見てもURLは"https://www.youtube.com"のままです。特定の動画へ直接アクセスした場合は、その動画のURLのままとなります。
 
これによって何が問題かというと、ブラウザバック及びブラウザの履歴が機能しなくなります。複数の動画をみて「直前の動画をもう一回見たいな」とブラウザバックをするとYoutubeのサイトそのものから抜け出してしまいます。とはいえYoutubeアカウントでログインしていたなら視聴履歴は残っているので、そこから見直すことができます。
 
で、URLが変わらない原因はJavaScriptのブロックにあります。デフォルト設定のまま変えてないんですけど、何かがひっかかったんでしょうね。このプラグインをオフにすればURL情報が動画に応じて変化するようになります。
 
しかしここで、もうひとつ問題が起きます。オフにするとサイトに広告が読み込まれた「だろう」タイミングで動画の再生が止まります(広告ブロック使用中の場合)。動画にオーバーレイされた広告は関係なく、サイトに直接貼り付けるタイプの広告の問題だと思います。おそらく広告を読み込んだ後に他のJavaScriptに何か値を返さなきゃいけないのに、それがブロックされてしまっているのでエラーが起きてる…そんな感じかと思います。
 
広告ブロックの使用を中止すればこれらの問題は起きません。
 
しかしGoogle Chromeで確認したところ、そもそも上記の問題は発生しなかったのでSafari固有のバグなのではないかと思っています。Youtubeの動画埋め込んだHPをSafariで閲覧すると普通に見れますが、情報を見るとYoutubeに関するところでエラーを吐きまくっているんですよね。