我希望我能夠做好我的功課,在過去的幾個小時內搜索互聯網並在發佈之前嘗試所有內容,但我真的接近稱它不可能,所以這是我的最後一次採取。回調JavaScript中的彈出窗口
我想要一個簡單的事情(但在JavaScript好像硬):
- 點擊按鈕 - >打開窗口(使用window.open)
- 執行在彈出窗口中的動作和返回值父母(開叫者)
但我想以系統的方式實現它,有一個回調定義爲這個彈出;是這樣的:
var wnd = window.open(...)
wnd.callback = function(value) {
console.log(value);
};
我試過在彈出的窗口JS代碼定義回調屬性:
var callback = null;
不幸的是,這並不工作,因爲...
$('#action').click(function() {
console.log(callback);
});
。 ..返回剛剛設置的「null」。我已經嘗試在窗口加載(通過window.onload = ...和$(窗口).ready()),沒有工作後在父窗口中設置回調。
我也試着定義一些方法,在子窗口源代碼內註冊回調:
function registerCallback(_callback)
{
callback = _callback; // also window.callback = _callback;
}
但與相同的結果。
而我沒有更多的想法。當然,使用window.opener來設置這個值很簡單,但是我會失去這個子窗口所需的大部分靈活性(實際上是DAM系統的資產選擇器)。
如果您有一些想法,請分享它們。 謝謝!
你知道這是否也適用於https url嗎? – Amien