2012-06-10 152 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中不起作用,所以我必須使用彈出窗口。我不介意它會被看到,但目前我甚至無法訪問它。 –

相關問題