Я получаю ошибку типа, неопределенную в Chrome, но не сафари, когда я запускаю всплывающее окно.
При открытии окна запускаются эти прослушиватели событий:
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)
, которыеприводит к следующим ошибкам в консоли:
Я попытался обернуть эти прослушиватели событий в функцию и вызвать эту функцию на DOMContentLoaded
, но это не работает.
Данные, такие как event.data.url
, в конечном итоге обнаруживаются, однако, когда я пытаюсь ввести информацию в форму, она выдает мне еще одну необработанную ошибку типа:
Кажется, что события запускаются до загрузки DOM ... Я не знаю, почему это происходит только в Chrome, но прекрасно работает в Safari и Chrome incognito?