访问被拒绝。在IE中的jquery.form.js

时间:2012-10-17 12:01:33

标签: jquery forms internet-explorer access-denied

如何解决此问题? IE上的访问被拒绝:(jquery.form.js)

 =>   if (io.contentWindow.document.execCommand) {
        try { // #214
            io.contentWindow.document.execCommand('Stop');
        } catch(ignore) {}
    }

2 个答案:

答案 0 :(得分:4)

今天我遇到了同样的问题。

However this issue has been documented

问题是IE9中的代码被破坏了。 来自链接的评论者解释了问题:

  

这是因为IE“友好错误消息”“功能”。对于HTTP 4xx和5xx响应,IE用其友好的错误消息替换IFRAME的内容,这样做会改变帧的域。当插件尝试访问响应文档时,它会因同源策略而失败,这会导致插件将请求视为已中止

由于此安全限制,IE js解释器会在访问io.contentWindow.document时解除安全性异常。

快速修复/黑客(如果在try块内调用则移动):

try { // #214
  if (io.contentWindow.document.execCommand) 
   io.contentWindow.document.execCommand('Stop');
} catch (ignore) { }

我在生产中有这个修复,我在IE8 / IE9中没有发现任何负面影响

答案 1 :(得分:2)

根据您提供的最少信息,您可能会尝试在一个窗口中使用JavaScript从不同的来源访问窗口。你不能这样做,Same Origin Policy不允许这样做。 “解决”它的唯一方法是改为做其他事情。