1

crossrider.comでブラウザ拡張機能を作成しましたが、JavaScriptコードを使用してページ上のフレームをループする必要があります。

HTMLコード。(Main.html)

<frameset rows="85,*, 35">
    <frame name="header" src="1.html"    scrolling="no"   frameborder="no" >
    <frame name="body"   src="2.html"    scrolling="auto" frameborder="no">
    <frame name="footer" src="3.html"    scrolling="no"   frameborder="no" >
</frameset>

このページ(Main.html)に次のようにコードを書くと

alert(self.frames.length);

それは私に3を与えます、そして私がそうするなら

  for(var k = 0; k < self.frames.length ; k++)
    { 
      var obj = self.frames[k];
      // this obj is always object. 
      //and I could do further operation on this as obj.document ,
    }

ただし、クロスライダー拡張機能を記述して、次のように実行する場合

appAPI.ready(function($){

var framesLength = self.frames.length; //it also gives 3
//but if I do below

for(var k = 0; k < self.frames.length ; k++)
    { 
      var obj = self.frames[k];
      // **this obj is always undefined.**
    }

});

解決に向けた助けや方向性をいただければ幸いです。

4

1 に答える 1

0

クロスライダーチームに質問しました。 Crossrider-Support-frames-?

CrossRider の従業員 (Shmueli Ahdut) の 1 人から得た簡単な回答は、CrossRider API はフレームをサポートしていないということですが、驚くべきことは

self.frames.length 適切な警告を発しました。

IE での onRequest API のサポートについて調査します。そのようにして、フレーム/ ajaxリクエストのhttpを簡単に監視できます。

于 2012-07-09T16:23:46.963 に答える