【问题标题】:SCRIPT70: Permission denied IE9SCRIPT70:权限被拒绝 IE9
【发布时间】:2011-07-18 03:31:39
【问题描述】:

我在 IE-9 上收到奇怪的错误“SCRIPT70: Permission denied jquery.js, line 21 character 67”。在谷歌上搜索,但除了 CKEditor 上的错误之外找不到任何东西。

它显示的位置只包含以下内容:

P=navigator.userAgent,xa=false,Q=[],M,ca=Object.prototype.toString,da=Object.prototype.hasOwnProperty,ea=Array.prototype.push,R=Array.prototype.slice,V=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(typeof a==="string")if((d=Oa.exec(a))&&(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Sa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];

有人遇到这个错误吗?

*附加信息:*我们打开一个 iframe 并在这个 iframe 中调用一些 javascript 函数。

谢谢。

【问题讨论】:

  • 你需要用非缩小版重现它,这样你才能看到实际导致它的代码行。
  • 我刚刚意识到,它不允许任何脚本文件。我可以在一个非缩小的 js 文件中看到一个非常简单的行。 var imageType = jQuery("#imageType").val();我们打开一个 iframe 并尝试在其中运行 javascript,这可能是原因吗?

标签: javascript permissions internet-explorer-9


【解决方案1】:

IE9 中的 SCRIPT70 错误最有可能发生在您的 iframe 调用某些 javascript 时(尤其是如果它影响父页面 - 例如父 url 的哈希更改)

检查您的 iframe 的主机/协议/端口号是否匹配。 IE9 对主机名非常严格(在我的情况下一直到 www 部分),而 document.domain 似乎没有为此提供解决方法。

在处理多个 iframe 时遇到了这个问题并修复了它,希望这可以帮助其他人解决同样的问题。

【讨论】:

  • 我通过 window.postMessage 从 iFrame 到 IE11 上的父跨域域得到这个。使用 Edge 浏览器可以正常工作。有人可以更详细地解释“主机/协议/端口号匹配”吗?
【解决方案2】:
function Sizzle( selector, context, results, seed ) {
  var match, elem, m, nodeType,

  // QSA vars
  i, groups, old, nid, newContext, newSelector;

  // MY EDIT - this try/catch seems to fix IE 'permission denied' errors as described here:
  // http://bugs.jquery.com/ticket/14535

  try{
    document === document; //may cause permission denied
  }
  catch(err){
    document = window.document; //resets document, and no more permission denied errors.
  }

  if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
    setDocument( context );
  }

  //...... snip .........//
}

http://jsfiddle.net/xqb4s/

【讨论】:

  • 您应该在答案中添加一些解释性文字。另外,我看不出你的 jsfiddle 是如何演示的
  • 您需要编辑 jquery-*.js 并在 sizzle 函数(导致访问被拒绝的函数)中添加 try catch。我不喜欢玩 jquery 文件,但它确实解决了问题
【解决方案3】:

我在 IE9 上遇到了这个确切的问题,事实上,在 IE11 上也发生了这种情况。

我的问题是我通过http(即http://mywebsite.com)打开一个网站,而我的代码中的一个iframe 试图使用https 访问该网站的一部分。这是导致错误的原因。一旦我使用https 访问该网站,错误就消失了。旧书签是使用 http 的原因,并且该站点已使用 https 更新,因此请检查您的网址。

【讨论】:

    【解决方案4】:

    如果 iframe 指向的域与父站点不同,则您无法访问任何 iframe 内容。

    【讨论】:

      【解决方案5】:

      如果您正在处理脚本中的选择元素,也许您的问题和我的一样

      SCRIPT70: Permission denied when adding options to select element from a recently closed iframe

      【讨论】:

        【解决方案6】:

        最近我遇到了这个错误。在我正在工作的应用程序中,我使用 TinyMce 文本编辑器 作为我们的电子邮件编辑器。这将创建一个 iframe ,其中包含我需要用于电子邮件编写器的对象。在看到许多关于上述错误的博客后,我尝试以编程方式删除 TinyMce 文本编辑器对象,然后触发重定向。它成功了!

        【讨论】:

          【解决方案7】:

          面对类似的问题(可能不是 jquery.js,而是相同的错误描述),解决方案与上面的有点不同。实际上我已经在 regedit 中搜索了其他 iexplore.exe 行。我找到了其他两个并将其更改为 1,然后它就可以工作了。

          hkey_local_machine\software\microsoft\internet explorer\main\featurecontrol\feature_protocol_lockdown 
          hkey_local_machine\software\microsoft\internet explorer\main\featurecontrol\feature_internet_shell_folders
          

          【讨论】:

            【解决方案8】:

            如果您运行 64 位操作系统,请确保此键的值也设置为 1:HKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_OBJECT_CACHING\\iexplore.exe

            如果没有这个密钥,我们会在 Internet Explorer 11 中随机出现 SCRIPT70: Permission denied 错误。

            【讨论】:

              【解决方案9】:

              这一页的提示应该会有所帮助:http://forum.jquery.com/topic/strange-behaviour-in-ie9

              确保 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_OBJECT_CACHING\iexplore.exe 未设置为 0(应为 1 或缺失)

              【讨论】:

              • 呃,他们真的希望我告诉所有访问我的公共网站的 IE9 用户吗?
              • 这是有史以来最糟糕的主意。你不能指望我告诉我的 3000 万用户更改他们的注册表。你是认真的吗?
              猜你喜欢
              • 2011-11-29
              • 1970-01-01
              • 2013-08-07
              • 1970-01-01
              • 1970-01-01
              • 2014-03-16
              • 2016-04-11
              • 1970-01-01
              • 2015-08-30
              相关资源
              最近更新 更多