0

我需要打开一个弹出窗口并解析其内容。

我可以从注入脚本执行此操作,如下所示: win = window.open(url); $(win.document).find(...);

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

如果我从内容脚本本身执行相同操作,则窗口会打开而不会被阻止,但 win 是未定义的。

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

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

4

1 回答 1

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());
        });
    });
});​

这是一个 jsFiddle 演示

于 2012-06-10T09:56:19.017 回答