我在使用 Safari 时遇到问题,特别是没有从父窗口中找到 window.opener 函数。我调用的函数在 Chrome 和 Firefox 中运行良好。有人有什么建议吗?
窗口 1(父窗口)
打开窗口 2,其中包含以下内容:
window.open(requestUrl, "_blank", "width=440, height=500, scrollbars");
窗口 2(弹出窗口)
请求 url 页面返回后,将调用以下内容:
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 的一些变体。
窗口 1(父级)回调
打开弹出窗口的原始父窗口具有以下JS函数,但它永远不会达到这一点。
function callBackIntegrationCompleted(code) {
console.log("got here");
}
编辑:请将此视为评论。
function callBackIntegrationCompleted(code) {
console.log("got here");
}
window.callBackIntegrationCompleted = callBackIntegrationCompleted;
在对 eval() 的调用中,使参数字符串中的函数成为窗口的属性。如果回调函数使用 eval() 定义这可能是个问题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)