【问题标题】:IE permission deniedIE 权限被拒绝
【发布时间】:2016-09-27 06:44:18
【问题描述】:

我在 IE 上收到权限被拒绝错误(firefox 可以正常工作)

我正在进行 ajax 调用(本地域)以及我分配给 div 的调用结果。在调试时我知道ajax调用没有问题,变量'result'有结果数据。将数据分配给div时抛出错误。

错误行:2 jquery-1.8.1.min.js 错误:权限被拒绝

Javascript 代码:

$.get('administration.htm', function (result) {
    $('#adminDiv').find('#content').html(result);
});

知道为什么会出现这个错误。

【问题讨论】:

  • 也许这有帮助:stackoverflow.com/a/2960963/953684
  • 我已经在 head 标签中定义了 meta 标签。
  • 目标 div 是否在 iframe 中?
  • 而不是使用 $('#adminDiv').find('#content').html(result) 我尝试将其更改为 document.getElementById('content').innerHTML=result;现在我没有收到此错误,但结果上定义的事件不起作用,甚至格式不正确。
  • 不,目标 div 不在 iframe 中

标签: javascript jquery internet-explorer permission-denied


【解决方案1】:

权限被拒绝错误可能来自于在文档准备好之前尝试操作 DOM。

对于不再起作用的事件和格式,使用 JavaScript 和 jquery 来选择事物可能会导致问题。当您使用document.getElementById 时,它将更新 DOM 和呈现的页面,但不会更新关联的 jQuery 对象。要解决这个问题,您要么需要重新生成 jQuery 对象(使用 $('selector'))并重新附加处理程序,要么尝试使用 $(document.getElementById('objectId')).html('result'); 之类的方法,在其中使用 javascript 查找 DOM 元素以避免权限错误,然后使用关联的修改它jQuery 对象。

【讨论】:

  • 我怀疑在元素加载之前尝试访问元素会产生Error: Permission denied。而document.getElementById 不会更新 DOM。你认为它有什么变化?
  • 嗨@Oriol。在加载之前尝试访问 dom 元素肯定会在某些浏览器中导致此错误。在我的回答中,我指的是使用 document.getElementById$('selector') 返回的对象而不是函数本身来操作 DOM。
猜你喜欢
  • 2011-06-13
  • 2012-06-28
  • 2015-08-30
  • 1970-01-01
  • 2018-07-19
  • 2018-02-05
  • 2015-04-28
相关资源
最近更新 更多