检测到iframe时,Chrome扩展程序会失败

时间:2012-08-27 08:17:13

标签: javascript google-chrome iframe google-chrome-extension

基本上我要做的是检测G +主页中包含的帧数,当然我确实使用内容脚本

扩展程序的Js文件:

var myIframes;
window.addEventListener('load'
,function()
{
    //If the window location matches the G+ home page
    //Log number of frames contained within it
    if(window.location.href.match("https://plus.google.com/u/0/"))
    {
        console.log('G+ loaded');

        myIframes = document.getElementsByTagName('iframe');
        console.log(myIframes.length);
    }
}
,false);

执行此代码的o / p日志是:

  
    

G +已加载

         

2

  

现在出现了一个奇怪的部分,当我尝试从检查器控制台中访问 myIframes 变量长度时,我得到 8 帧。

所以我的问题是“怎么来!” myIframes 变量不应该像第一次被评估时一样保持不变吗?

1 个答案:

答案 0 :(得分:1)

document.getElementsByTagName('iframe')返回一个nodeList。

nodeLists是live,它们会在DOM更改时更新。