使用 Jquery 在 IE 8 和 7 中“权限被拒绝”

Posted

技术标签:

【中文标题】使用 Jquery 在 IE 8 和 7 中“权限被拒绝”【英文标题】:“Permission denied” in IE 8 and 7 using Jquery 【发布时间】:2012-11-12 10:56:21 【问题描述】:

我正在创建一个 jquery 插件。这在 chrome、Mozilla 和 IE 9 中运行良好,但在 IE 8/7 中,我在“$ctxObj.control2.val(opt.topicDefaultText);”行上收到 Permission denied 错误

Test.Plugin = function () 
var $ctxObj = ;
var opt = ;
var initEvents = function() 

    $ctxObj.control2.val(opt.topicDefaultText);

    $ctxObj.control2.on('click', function (e) 
        somefunction();
    );

    $ctxObj.control1.on('click',function()
 anotherfunction();
    );
;
return 
    init: function (options) 
        var defaultOptions = 
            control1: '#control1',
            control2: '#control2',
            topicDefaultText:'test'
        ;
        opt = $.extend(, defaultOptions, options);
        $ctxObj.control1 = $(opt.control1);
        $ctxObj.control2 = $(opt.control2);
        initEvents();
    
;

();

如果我为每个控件声明一个变量,如下所示:

var $control1 =$('#control1');

var $control2 =$('#control2');

然后使用代码

   $control2.val(opt.topicDefaultText);

    $control2.on('click', function (e) 
        somefunction();
    );

    $control1.on('click',function()
      anotherfunction();
    );

使用上面的代码我在 IE 中没有收到任何错误,但是在这个插件中我有很多控件,所以我不想这样做。

【问题讨论】:

【参考方案1】:

确保所有对象属性均已设置,并且您实际上有权访问它们。

【讨论】:

【参考方案2】:

IE 对 jQuery 有很大的问题。当我在其上测试 jQuery 时,我的 IE9 总是告诉我启用 ActiveX 控件。尝试告诉您的 IE 用户启用 ActiveX 控件。

【讨论】:

以上是关于使用 Jquery 在 IE 8 和 7 中“权限被拒绝”的主要内容,如果未能解决你的问题,请参考以下文章

jQuery v1.8.3 在 ie 8 和 ie 7 中创建错误“意外调用方法或属性访问”。

JQuery - $.ajax() - 使用 JSONP 的跨域 - 仅在 IE 8 中获取“解析器错误”(在 IE 7 中工作)

无法解决 jquery IE 7/8 Script 3 Member not found 错误

IE6 支持jquery么

jQuery Ajax 在 IE 6/7/8 中不工作,在 FF/Safari/Chrome 中工作

jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题