Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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 &引用;“访问被拒绝”;当脚本尝试访问IE8中的iframe时_Javascript_Iframe - Fatal编程技术网

Javascript &引用;“访问被拒绝”;当脚本尝试访问IE8中的iframe时

Javascript &引用;“访问被拒绝”;当脚本尝试访问IE8中的iframe时,javascript,iframe,Javascript,Iframe,我正在通过覆盖document.write函数并在以后还原,在我的网站上“延迟加载”第三方广告脚本。此广告脚本创建一个iframe,并尝试对其进行写入 当脚本尝试访问frame.document时,我在Internet Explorer 8(但在FF、Safari或Chrome中没有)中看到“访问被拒绝”错误。框架存在(我可以在IE8开发者工具中看到) 知道为什么会这样吗?可能是因为iframe没有准备好,还是因为跨站点的安全限制(我不完全理解)?这里只是在黑暗中拍摄,没有看到您的代码,但请检查

我正在通过覆盖document.write函数并在以后还原,在我的网站上“延迟加载”第三方广告脚本。此广告脚本创建一个iframe,并尝试对其进行写入

当脚本尝试访问frame.document时,我在Internet Explorer 8(但在FF、Safari或Chrome中没有)中看到“访问被拒绝”错误。框架存在(我可以在IE8开发者工具中看到)


知道为什么会这样吗?可能是因为iframe没有准备好,还是因为跨站点的安全限制(我不完全理解)?

这里只是在黑暗中拍摄,没有看到您的代码,但请检查您是否在页面上显式设置了document.domain。如果您正在设置文档的域,尝试访问动态注入的iFrame可能会在IE中引发访问错误。例如,如果设置了以下内容,请尝试对其进行注释以进行测试:

//document.domain = "mydomain.com"; //document.domain=“mydomain.com”;
这取决于您试图从中访问frame.document的上下文

例如,假设您在foo.com上加载页面。然后,它在一个名为“myFrame”的框架中加载在ad.com上运行的广告

如果在foo.com上的脚本块中,您试图访问myFrame.document,您将收到投诉,因为这些页面不在同一个域中。可以从iframe内部引用文档,但不能从外部引用


这是跨站点安全的基础。如果您能提供有关实际导致问题的代码段的更多信息,以及各种代码段在哪个域上运行,我们可能会提供更多帮助。

IE是跨域安全的一大难题。我猜iframe不在您的域中?我没有在我的页面上明确设置域(这是一个简单的交易)。第三方脚本创建了iframe,我认为它也没有显式地设置域,但我猜域被设置为远程服务器的URI。@BilalAslam,我一直在看下面的答案,我想知道这到底是不是域问题?