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 ,
    }

但是,如果您编写 crossrider 扩展并执行相同的操作

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团队提出了问题。 Crossrider-支持框架-?

我从 CrossRider 的一位员工 (Shmueli Ahdut) 那里得到的快速回答是,CrossRider API 不支持框架,但令人惊讶的是

self.frames.length 给出了适当的警报。

我将研究他们对 IE 的 onRequest API 的支持。这样可以轻松监控帧/ ajax 请求的http。

于 2012-07-09T16:23:46.963 回答