window.addEventListener弹出窗口上未捕获的类型错误

时间:2018-11-17 08:11:27

标签: javascript events dom popup typeerror

当我触发弹出式窗口时,我在Chrome中遇到类型错误,但在Safari浏览器中找不到。

打开窗口时,将触发以下事件侦听器:

window.addEventListener('load', () => {
    window.opener.postMessage('ready','https://oaklanding.myshopify.com');
    console.log("READY")
})
window.addEventListener('message', event => {
    storeInfo = event.data
    console.log("storeInfo: ", storeInfo)
    var url = event.data.url
    console.log("event.data.url: ", url)
    if (url.indexOf('?') !== -1) {
        const urlParams = new URLSearchParams(url.substring(url.indexOf('?')));
        globalVariant = urlParams.get('variant')
        console.log(globalVariant)
        getInfo(storeInfo, parseInt(globalVariant))
    } else {
        getInfo(storeInfo, -1)
    }
    updateAccount()
}, false)

这会在控制台中导致以下错误: Image of console errors

我尝试将这些事件侦听器包装在一个函数中,然后在DOMContentLoaded上调用该函数,但这不起作用。

最终会找到诸如event.data.url之类的数据,但是当我尝试将信息键入表单时,它又给了我另一个未捕获的类型错误:

uncaught type error on form fill

似乎事件是在加载DOM之前触发的... 我不知道为什么这种情况只会在Chrome上发生,而在Safari和Chrome隐身模式下却能完美显示?

0 个答案:

没有答案