4

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

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

2 回答 2

4

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

但是,此问题已记录在案

问题是代码在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 中没有发现任何负面影响

于 2012-11-15T15:43:07.953 回答
2

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

于 2012-10-17T12:04:38.167 回答