预呈现页面上的内容脚本?

时间:2012-07-10 21:55:35

标签: google-chrome-extension content-script

内容脚本(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,并试图弄清楚内容脚本如何处理页面预呈现/预取。

由于

2 个答案:

答案 0 :(得分:1)

TheZ,tomdemuyt:我担心你们会错过这一点。 'run_at'指定在构造DOM之前或之后是否注入内容脚本。

但是,我说的是document.webkitVisibilityState,它可以是'prerender'(当页面在背景/隐形标签中时),'隐藏'或'可见'。请注意,webkitVisibilityState可以从“prerender”转换为“hidden”或“visible”,或者在“hidden”和“visible”之间来回转换,而不会对DOM进行任何更改。 (为了更好地理解这一点,请阅读我原帖中链接的文章。)

我想我已经能够确定将内容脚本注入到预渲染页面中。然而,问题出在这里:假设我的内容脚本做了一些不应该在预渲染页面上发生的事情。例如,它执行网页浏览计数或添加动画,在用户实际查看页面之前,这两者都不应该开始。因此,我的内容脚本似乎应该像https://developers.google.com/chrome/whitepapers/pagevisibility上的代码示例中所显示的那样 - 检查document.webkitVisibilityState,并且还要监听'webkitvisibilitychange'事件,并且只进行网页浏览计数/启动文档时的动画.webkitVisibilityState已经或已经转换为'visible'。

我可能刚刚回答了我自己的问题,但我只想确保自己走在正确的轨道上。 感谢

答案 1 :(得分:-1)

如上所述,您应该使用run_at设置。

链接到文档:http://code.google.com/chrome/extensions/content_scripts.html#registration