0

コンテンツ スクリプト (http://code.google.com/chrome/extensions/content_scripts.html) は事前レンダリングされたページ (document.webkitVisibilityState== 'prerender') に挿入されますか?

https://developers.google.com/chrome/whitepapers/prerenderhttps://developers.google.com/chrome/whitepapers/pagevisibilityを読んでいて、コンテンツスクリプトがページの事前レンダリングでどのように機能するかを理解しようとしています/プリフェッチ。

ありがとう

4

2 に答える 2

1

TheZ、tomdemuyt:あなたたちが要点を見逃しているのではないかと思います。'run_at'は、DOMの構築前または構築後にコンテンツスクリプトを挿入するかどうかを指定します。

ただし、document.webkitVisibilityStateについて話しています。これは、「prerender」(ページが背景/非表示のタブにある場合)、「hidden」、または「visible」のいずれかになります。webkitVisibilityStateは、DOMに変更を加えることなく、「prerender」から「hidden」または「visible」に、または「hidden」と「visible」の間を行ったり来たりできることに注意してください。(これをよりよく理解するために、私の元の投稿にリンクされている記事を読んでください。)

コンテンツスクリプトが事前にレンダリングされたページに挿入されていることを確認できたと思います。ただし、ここに問題があります。たとえば、コンテンツスクリプトが、事前にレンダリングされたページでは発生しないはずの処理を実行するとします。たとえば、ページビューカウントを実行したり、アニメーションを追加したりしますが、ユーザーが実際にページを表示するまで、どちらも開始しないでください。したがって、私のコンテンツスクリプトは、 https: //developers.google.com/chrome/whitepapers/pagevisibilityのコード例に示されているようなことを実行する必要があるようです。document.webkitVisibilityStateを確認し、「webkitvisibilitychange」イベントもリッスンします。 document.webkitVisibilityStateが「visible」であるか「visible」に遷移した場合にのみ、ページビューのカウント/アニメーションの開始を行います。

自分の質問に答えたばかりかもしれませんが、自分が正しい方向に進んでいることを確認したかっただけです。ありがとう

于 2012-07-11T15:16:32.460 に答える
-1

TheZ が述べたように、run_at 設定を使用する必要があります。

ドキュメントへのリンク: http://code.google.com/chrome/extensions/content_scripts.html#registration

于 2012-07-11T13:49:34.727 に答える