2012-06-10 49 views
0

我需要打开一个弹出窗口并解析其内容。从浏览器扩展访问弹出

我可以做到这一点从注入脚本如下: win = window.open(url); $(win.document).find(...);

但是,这被弹出窗口阻止程序阻止,用户必须允许来自站点的弹出窗口。

如果我从内容脚本本身做同样的事情,然后窗口打开没有被阻止,但胜利是未定义的。

是否有可能在没有被弹出窗口阻止程序阻止的情况下获取弹出窗口的内容?

请注意,我从与调用内容脚本的页面相同的域打开页面。

+0

复制的[谷歌浏览器Userscripts参考window.open(http://stackoverflow.com/questions/10147623/google-chrome-userscripts-reference-window-open) –

+0

好的,我打开命名窗口(我实际上是这样做的)。之后如何访问其内容? –

回答

0

如果您不想为用户显示iframe,则可以使用iframe或不可见的iframe。

将iframe添加到文档而不是打开新窗口,然后获取iframe的内容。

$(function() { 
    $("#add").click(function() { 
     $("#temp").append('<iframe id="tempiframe" 
          src="http://fiddle.jshell.net/_display/"></iframe>'); 
     $("#tempiframe").load(function() { 
      alert("hey I get this from iframe\n" 
        +$(this).contents().find("pre").html()); 
     }); 
    }); 
});​ 

Here is a jsFiddle DEMO

+0

我打开的网站在iframe中不起作用,所以我必须使用弹出窗口。我不介意它会被看到,但目前我甚至无法访问它。 –

相关问题