window.opener 自定义功能在 Safari 中不起作用
window.opener with a custom function does not work in Safari
我在使用 Safari 时遇到问题,具体来说,就是找不到来自父 window 的 window.opener 函数。我调用的函数在 Chrome 和 Firefox 中运行良好。有人有什么建议吗?
Window 1(父级)
用以下内容打开 window 2:
window.open(requestUrl, "_blank", "width=440, height=500, scrollbars");
Window 2(弹出)
请求 url 页面 returns 返回后,将调用以下内容:
window.parent.opener.callBackIntegrationCompleted("testing");
window.close();
我在第一行收到以下错误:
TypeError: undefined is not a function (evaluating 'window.parent.opener.callBackIntegrationCompleted("testing")')
注意:我尝试了 window.opener、parent.window.opener 和 window.parent.opener.
的几种变体
Window 1(父级)回调
原来打开弹窗的父window有如下JS函数,但是一直到不了这一步
function callBackIntegrationCompleted(code) {
console.log("got here");
}
编辑:请将其视为评论。
function callBackIntegrationCompleted(code) {
console.log("got here");
}
window.callBackIntegrationCompleted = callBackIntegrationCompleted;
在对 eval() 的调用中,在 window 的参数字符串 a 属性 中创建了一个函数。如果回调函数 是使用 eval() 定义的,则可能是一个问题
我在使用 Safari 时遇到问题,具体来说,就是找不到来自父 window 的 window.opener 函数。我调用的函数在 Chrome 和 Firefox 中运行良好。有人有什么建议吗?
Window 1(父级)
用以下内容打开 window 2:
window.open(requestUrl, "_blank", "width=440, height=500, scrollbars");
Window 2(弹出)
请求 url 页面 returns 返回后,将调用以下内容:
window.parent.opener.callBackIntegrationCompleted("testing");
window.close();
我在第一行收到以下错误:
TypeError: undefined is not a function (evaluating 'window.parent.opener.callBackIntegrationCompleted("testing")')
注意:我尝试了 window.opener、parent.window.opener 和 window.parent.opener.
的几种变体Window 1(父级)回调
原来打开弹窗的父window有如下JS函数,但是一直到不了这一步
function callBackIntegrationCompleted(code) {
console.log("got here");
}
编辑:请将其视为评论。
function callBackIntegrationCompleted(code) {
console.log("got here");
}
window.callBackIntegrationCompleted = callBackIntegrationCompleted;
在对 eval() 的调用中,在 window 的参数字符串 a 属性 中创建了一个函数。如果回调函数 是使用 eval() 定义的,则可能是一个问题