Javascript iframe中未定义window.safari
我有一个页面需要访问Javascript iframe中未定义window.safari,javascript,iframe,safari,Javascript,Iframe,Safari,我有一个页面需要访问window.safari.pushNotification。加载该页面时,一切正常。但是,当此页面包含在iframe窗口中时,safari是未定义的 即使您位于同一原点,甚至添加 sandbox="allow-forms allow-popups allow-pointer-lock allow-same-origin allow-scripts allow-top-navigation" 这并不能解决问题 这是一个预期的行为还是一个bug?从iframe内部访问wind
window.safari.pushNotification
。加载该页面时,一切正常。但是,当此页面包含在iframe窗口中时,safari
是未定义的
即使您位于同一原点,甚至添加
sandbox="allow-forms allow-popups allow-pointer-lock allow-same-origin allow-scripts allow-top-navigation"
这并不能解决问题
这是一个预期的行为还是一个bug?从iframe内部访问window.safari
是否有任何变通方法?(我真的需要它)
复制这个问题很简单。只需将以下代码添加到页面,然后重试:
- 直接加载
- 使用iframe将其包含在另一个页面中
我相信这是有意的行为。是否需要访问iframe上的该对象?您可以通过window.parent.sfari
引用父窗口的safari对象,这能满足您的需要吗?您到底想做什么?@JoshuaTerrill引用window.parent.safari
有效,尽管同源策略限制会阻止您在跨源iframe中访问window.parent
。
window.addEventListener('load', function () {
console.log('safari' in window)
});