我有一個小插件,打開一個帶有外部內容的對話窗口。 我還沒有找到一種方法將數據傳遞給子窗口,讓它知道它是一個對話窗口。 我需要這樣做,以便加載到對話框窗口的JavaScript代碼知道它必須關閉。來自Firefox插件的OpenDialog與外部內容無法訪問窗口參數或回到歷史中
有沒有其他的方法來實現這一目標?
history.back()不適用於加載到所述窗口的文檔,但我不知道爲什麼。
var MACDialogExtension = {
myListener: function(evt) {
console.log(evt.target.ownerDocument);
window.openDialog(evt.target.getAttribute("url"),evt.target.getAttribute("name"),evt.target.getAttribute("features"),"child");
}
}
document.addEventListener("MACDialogExtensionEvent", function(e) { MACDialogExtension.myListener(e); }, false, true);
我認爲加載到對話框中的文檔會訪問窗口argumens,但它不會。 你能想到其他的方式來傳遞參數到窗口中嗎?我只需要該窗口內的文檔,它們位於對話窗口內。
對我來說,並不是'window.arguments'不起作用,而是它只適用於基元!我可以傳遞數字,布爾值和字符串,但是如果我傳遞一個對象,對話框將獲得一個空對象,並且所有的字段都被剝離了!我甚至試過這個[wrappedJSObject](https://developer.mozilla.org/en-US/docs/wrappedJSObject)伎倆,但徒勞無功。 –