我正在使用jQuery的load()
函数通过AJAX加载页面。它在IE8中不起作用,给出“权限被拒绝”错误。使用IE调试器,似乎当jQuery尝试打开xhr时,即阻塞它。
问题是,我的页面有一个javascript src指向bing maps js api(当然它与我的完全不同)。在我看来,IE试图通过xhr抓取这个js文件,然后抛出“权限被拒绝”错误。有解决方法吗?
我只记得自己下载bing maps js并在本地服务。
答案 0 :(得分:4)
我对此做了更多测试。似乎错误是由页面上的无效HTML结构引起的。由于它是一个非常复杂的页面,因此打开了不匹配的< div>或< table>在页面上,当我将页面缩短到最小时,它也适用于IE。但我不明白为什么当你第一次到达页面时它不起作用,如果你刷新页面,它将在那之后工作。
答案 1 :(得分:3)
我刚遇到这个问题,我在这个帖子上发布了我的解决方案:
jQuery AJAX problem in IE7 (possibly other versions as well)
答案 2 :(得分:2)
我最终抓住了脚本的副本并自己包含它,因此它位于同一个域中。
答案 3 :(得分:0)
您可以将script
标记添加到父文档(进行jQuery load()
调用的那个)中的Bing Maps API。
答案 4 :(得分:0)
仅供参考:
我在WinForms应用程序中使用IE 10在Windows 8上遇到此错误。
在这个应用程序中,我正在托管一个WebBrowser
control,它从内置的Web服务器加载其内容,并通过window.external
与我的主机WinForms应用程序进行通信。
足够的关键字钓鱼。
获取此错误
现在我的应用程序中出现这个jQuery错误的原因是:
Form.ShowDialog
打开了一个子表单。关闭此表单后,显示了jQuery错误。
解决此错误
我通过推迟打开子表单直到应用程序处于空闲状态来解决错误。
即。我在主表单中使用了Queue
列表,订阅了Application.Idle
事件,在这个事件处理程序中,我逐个处理了队列。
现在的新步骤是:
然后,错误消失了。
我想,我也可以等到Web浏览器完成加载,而不是使用这个空闲处理,只需订阅DocumentCompleted
event并从那里显示子对话框。
希望这会对某人有所帮助......