我希望我能够做好我的功课,在过去的几个小时内搜索互联网并在发布之前尝试所有内容,但我真的接近称它不可能,所以这是我的最后一次采取。回调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