【发布时间】:2013-06-26 13:37:46
【问题描述】:
场景:A.com 上的页面 A 具有包含 B.com 上的页面 B 的 IFrame。页面 B 使用 jQuery 1.10.1,并且 不需要 需要与页面 A 通信。
不管这个事实,在 IE9 和 IE10 中,jQuery 都会生成“SCRIPT5: Access is denied”。错误并且似乎根本拒绝执行任何jQuery。我不需要跨域通信、AJAX 请求等,但我确实需要 jQuery 来加载和执行页面 B 中没有错误。
有没有办法防止这个错误在 IE9 和 IE10 中出现(并禁止代码执行)? (仅供参考,其他浏览器同样会产生“拒绝访问”错误,但不会妨碍代码执行)
更新:
jsFiddle:http://jsfiddle.net/86q5k/4/
主机页面的内容是(来自 jsFiddle):
<iframe src="http://endorkins.com/test-iframe.html"></iframe>
iFramed 页面的内容是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
console.log('Hello! Congratulations. Your browser is neat, and doesn\'t sniff glue! (http://bit.ly/12QTvTT)');
});
</script>
</head>
<body>
</body>
</html>
Chrome 中的结果(注意控制台中的消息):
在 IE 9.0.8112 中的结果(注意控制台中的消息省略):
【问题讨论】:
-
你能显示一些代码吗?或者至少是一个 jsfiddle?
-
我会开始工作的。谢谢! :)
标签: jquery ajax internet-explorer cross-domain