(交叉貼here)打開和寫入到一個新的窗口
嗨,
我有一個沙箱頁面(在我的清單中指定的),它加載到一個iframe中我的分機的背景頁面。從我的沙盒頁面中,我想打開一個新窗口並寫入它,即:
var win = window.open(); win.document.write('< p & gtHello!</p >');
這適用於我的擴展的後臺頁面和常規網頁,但是當從內容腳本或我的沙盒頁面調用時,窗口會打開,但我無法訪問win對象(已定義,但爲空)--- console .log輸出「窗口{}」)。
我認爲這是由於同源策略(每個窗口在沙箱環境內都被賦予一個uinque源)。然而,由於窗口打開about:空白頁面,我很困惑爲什麼這會很重要。
這是功能嗎?有沒有一個參數可以添加到我的清單中以避免這種情況?有沒有人知道不涉及使用postMessage回到我的背景頁面的解決方法?我的理想解決方案是讓我的沙盒腳本打開一個新窗口並直接與它交互,而不是通過消息傳遞。
我可以提供一個完整的例子,如果有必要,但我希望有人可能只是知道他們的頭頂。如果有幫助,我在Mac上運行Chrome 24.0.1312.57,在Ubuntu上運行24.0.1312.68。
感謝,
漢克
我的意思是, ,如果你寫一個網頁,完全忽略擴展es'var win = window.open(); win.document.write('<p> Hello!</p >')',它按預期工作。但是,從我的擴展中的沙箱內,情況並非如此。在我的交叉帖子後面,來自chrome團隊的人證實了這個問題,即從沙箱打開的任何窗口都有唯一的來源。 – Hank 2013-02-16 16:24:31