1

基本的に私がやろうとしているのは、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変数は、最初に評価されたときの状態のままにすべきではありませんか?

4

1 に答える 1

1

document.getElementsByTagName('iframe')nodeListを返します。

nodeListsはライブであり、DOMが変更されると更新されます。

于 2012-08-27T08:23:22.740 に答える