Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有办法查看window.top是否可访问?_Javascript_Iframe - Fatal编程技术网

Javascript 是否有办法查看window.top是否可访问?

Javascript 是否有办法查看window.top是否可访问?,javascript,iframe,Javascript,Iframe,我有一个iframe,它试图在父窗口中调用函数,如下所示: window.top.updateIFrame(height); 显然,只有当iframe和父窗口位置在同一个域上时,这才有效。因此,在尝试调用函数之前,我要检查以确保window.top是可访问的。但我似乎无法做到这一点 我已尝试将window.top设置为一个对象,但该对象存在,但我无法找到查看访问是否被拒绝的方法。尝试使用检查 if (typeof(window.top) == 'object' && typeo

我有一个iframe,它试图在父窗口中调用函数,如下所示:

window.top.updateIFrame(height);
显然,只有当iframe和父窗口位置在同一个域上时,这才有效。因此,在尝试调用函数之前,我要检查以确保window.top是可访问的。但我似乎无法做到这一点

我已尝试将window.top设置为一个对象,但该对象存在,但我无法找到查看访问是否被拒绝的方法。

尝试使用检查

if (typeof(window.top) == 'object' && typeof(window.top.updateIFrame) == 'function') 
   ...
尝试使用检查

if (typeof(window.top) == 'object' && typeof(window.top.updateIFrame) == 'function') 
   ...

try/catch
在这里工作吗?如果(window.top&&window.top.updateFrame){},您就不能这样做?你可以随时尝试包装它Catch@RocketHazmat这就是我现在正在做的。但是我想检查一下first@theporchrat,否,因为window.top是一个对象,将返回true。但是,window.top.updateFrame将在我建议查看的条件中导致异常。它允许您在iframe和父级之间发送消息,即使它们位于不同的域上!因此,您不需要调用
window.top.updateFrame
,而是执行
window.top.postMessage
,将高度发送给它,然后家长可以为您调用
updateFrame
。:-)
try/catch
在这里工作吗?如果(window.top&&window.top.updateFrame){},您就不能这样做?你可以随时尝试包装它Catch@RocketHazmat这就是我现在正在做的。但是我想检查一下first@theporchrat,否,因为window.top是一个对象,将返回true。但是,window.top.updateFrame将在我建议查看的条件中导致异常。它允许您在iframe和父级之间发送消息,即使它们位于不同的域上!因此,您不需要调用
window.top.updateFrame
,而是执行
window.top.postMessage
,将高度发送给它,然后家长可以为您调用
updateFrame
。:-)
typeof(window.top)==“object”
对于iframe,无论域是什么,都将始终返回true。对象存在,但对对象属性/方法的访问被拒绝。不,这没有帮助
window.top.updateFrame
是一个函数,由于安全原因无法调用它。调用时将抛出异常。
typeof(window.top)='object'
对于iframe,无论域是什么,都将始终返回true。对象存在,但对对象属性/方法的访问被拒绝。不,这没有帮助
window.top.updateFrame
是一个函数,由于安全原因无法调用它。调用时将抛出异常。