Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的Frames对象循环未定义_Javascript_Jquery_Frames_Browser Extension_Crossrider - Fatal编程技术网

javascript中的Frames对象循环未定义

javascript中的Frames对象循环未定义,javascript,jquery,frames,browser-extension,crossrider,Javascript,Jquery,Frames,Browser Extension,Crossrider,我已经用crossrider.com编写了一个浏览器扩展,需要使用javascript代码在页面上的框架中循环 HTML代码。(Main.html) 它给我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 opera

我已经用crossrider.com编写了一个浏览器扩展,需要使用javascript代码在页面上的框架中循环

HTML代码。(Main.html)

它给我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 ,
    }
for(var k=0;k
但是,如果您编写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.**
    }

});
appAPI.ready(函数($){
var framesLength=self.frames.length;//它还提供3
//但如果我在下面
对于(var k=0;k

非常感谢对解决方案的任何帮助或指导。

我确实向crossrider团队提出了问题。

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

self.frames.length
给予适当的警惕


我将研究他们对IE中OnRequestAPI的支持。这样可以轻松监控http for frames/ajax请求。

您能给出一个您尝试在其上执行扩展的url吗?(带有框架集的url,如您的示例代码中所示)扩展安装在本地浏览器上,我正在测试本地应用程序,因此我没有用于此的url,但是如果您转到crossrider并复制alert self.frames.length,并使用appAPI.ready函数在每个框架中循环。在您的浏览器上安装此扩展(我正在IE9上测试)后,您将看到带有frames的main.html页面为所有frames提供了未定义的。
  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.**
    }

});