カテゴリー別

お絵描き、デザイン

写真、動画関連ソフト

アメーバピグ専用ソフト

ホームページ関連

画像処理

スキャナー用

SEO 関連

お楽しみ

その他

過去ログ

2017年10月13日(金)

ローカルブラウザ、Google AdSense のコードを貼り付けたページを表示するとプチフリーズする場合がある

Google AdSense のコードを貼り付けたページを
ローカルブラウザ で表示するとプチフリーズする場合があります。

数秒から数十秒操作不能に陥ります。
時間が経つと操作可能になりますが、
結構な頻度で発生するので、かなり厄介です。

ローカルブラウザ側での対処は難しかったのですが
html を修正すると、回避することができます。

直し方は簡単で // で始まる URL を使用せず、
必ず https:// とか http:// を使うようにすれば OK です。

Google AdSense の場合は、https でよいでしょう。
↓ のページにも書いたので参考にしてみてください。

Q.Google Adsense を張り付けたページを表示するとプチフリーズする?

ローカルブラウザのダウンロードはこちら です。

・・・

ずっと、気になっていたのですが、やっと原因がわかりました。
今回、原因を調べるためにやったことを書いておきます。

まず、プチフリーズが安定して発生する操作を確定します。
操作はなるべく単純なほどいいです。

今回は、左のファイルツリーのファイルを
順にクリックすることで発生させる手順を採用しました。

次に、プチフリーズが発生したら、ブレークして
プチフリーズの発生個所を見てみます。

今回は、ほぼ 100 %
win32u.dll!_NtGdiDdDDIWaitForVerticalBlankEvent@4
ってな場所でした。

でブレーク時の別のスレッドの状態を見ると、
自分の書いたコードは、同時に走っていないっぽいので
Microsoft 側のコードに問題がありそうです。

そのことを確定させるために、最低限のコードで
問題を発生させてみることにしました。

メインフレームにウェブブラウザーコントロールを
貼り付けて、タイマーで数秒置きに
問題となっているファイルを
自動的に表示されるプログラムです。

で、めでたく?同じ現象が確認できたので、
ウェブブラウザーコントロールの使い方が
おかしいわけでもないことがわかりました。

実際、IE 11 に問題の発生するローカルファイルを
ドロップしてもフリーズするので、間違いないでしょう。

次に、html によっては問題が起きないかもしれないので
html を修正してみました。

まず、body に 1 文字しかないような html で
テストしてみましたが、現象は起きませんでした。

次は、問題の起こったファイルのうち
一番怪しげな、script タグを全て消去して
試したところ、やはり現象は起きませんでした。

これで、script タグが原因で確定したので、
あとは、1 つずつ除去して問題のタグを確定させました。

で問題のタグには、src 属性しかなかったので
空文字列にしたり、http: をつけたりすることで
現象が解消されることが確認できました。

めでたし、めでたし。

ローカルブラウザ
ローカルブラウザのダウンロード
ローカルブラウザの更新履歴
ご意見・ご要望連絡窓口


コメント
コメントする