当前位置: 首页 > 面试题库 >

防止IE中出现“ SCRIPT5:访问被拒绝”错误

纪辰沛
2023-03-14
问题内容

场景:A.com上的页面A具有一个包含B.com上的页面B的IFrame。网页B使用jQuery的1.10.1和它 不会 需要页次A.沟通

不管这个事实如何,jQuery在IE9和IE10中都会生成“
SCRIPT5:访问被拒绝”。错误,并且似乎根本不执行任何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中的结果(注意在控制台中省略了该消息):

在此处输入图片说明


问题答案:

我找到了解决方法。这似乎是jQuery 1.10.1中的错误(“功能”?)。使用jQuery 1.10.0,该错误不再发生:

http://jsfiddle.net/86q5k/5/

<iframe src="http://endorkins.com/test-iframe-1.10.0.html"></iframe>

奇怪。很奇怪。如果有人知道为什么在1.10.1中发生这种情况的原因,以及如何解决它,我(以及全球的jQuery奴才)肯定会很感兴趣!:)

更新:看起来这是一个合法的jQuery 1.10.1错误:http :
//bugs.jquery.com/ticket/13980

更新:根据@ emanuele-greco,此问题已在1.10.2及更高版本中修复。因此,升级您的jQuery版本可能会解决该问题。



 类似资料:
  • 问题内容: 我在IE11和Ajax中遇到了一个特殊的错误。对于我使用下面的代码发出的几乎所有请求,一切都很好,但是当我尝试与copy + paste方法结合使用时,它会返回“访问被拒绝”错误。所以总结一下 对于我编写的所有功能,此代码在大多数浏览器中均可正常运行 在IE 11 + Windows 8.1中,它在大多数情况下均可运行,但运行特定的复制和粘贴功能时除外 有趣的是,当使用IE 11时,尽

  • 问题内容: 我有2个项目(相互连接和通信)在2个tomcat实例上运行。在我本地,我有2只雄猫在奔跑。在所有不同的浏览器上,一切都很好,但IE却表示访问被拒绝加载Java文件。因此,我包括了一个图书馆,该图书馆可以解决 本地 问题。 但是当我再次将代码部署到DEV环境上2个不同的tomcat实例(在Dev服务器上)时,我看到相同的错误,访问被拒绝。 而且我与项目1相关的所有文件(例如js / cs

  • 问题内容: 为了在具有许多参数的表单中发布AJAX表单,我使用一种解决方案:创建一个,通过POST将表单发布到其中,然后访问的内容。具体来说,我正在访问这样的内容: 我对其进行了测试,并且效果良好。 在某些页面上,我开始出现“访问被拒绝”错误。据我所知,如果iframe是从同一域提供的,则不应发生这种情况。 我很确定它以前可以正常工作。有人知道吗? 如果我不够清楚:我要发布到 同一域 。因此,这不

  • 我在负载平衡器后面有web服务器,系统成功地将我重定向到OKTA登录页面,当我输入凭据时,并在OKTA服务器执行回调操作时单击登录按钮,使用 我得到一个错误: 403-禁止:拒绝访问。您没有使用提供的凭据查看此目录或页的权限。 我在Startup.cs文件中使用下面的代码,我在Blazor服务器上的应用程序

  • 问题内容: 在某种程度上,当我尝试通过命令行访问MySQL时,已经设法解决了该错误: 我尝试使用此HowTo重置密码,但没有任何运气。 我已经卸载了mysql completley并重新安装了,但是仍然需要输入密码。我不知道为什么会这样! 有人可以帮我获得默认安装的MySQL吗? 环境 Fedora Core 10,完全根访问权限,安装了Apache和PHP 感谢您的任何帮助!! 编辑 对于所有想

  • 我最近才更新到新版本的forge,没有改变我的设置,当我去构建我的应用程序时,我得到了一个错误,说它找不到文件…