SCRIPT5045:严格模式下不允许分配给只读属性

时间:2014-07-08 14:57:42

标签: javascript

我正在 SCRIPT5045:在IE 11中不允许在严格模式下分配只读属性(最新Chrome工作正常)参考该行

A.doc.head = A.doc.getElementsByTagName('HEAD')[0];

我对如何修复它很困惑。我已经包含了以下相关代码。

(function (win, doc, arg) {
    'use strict';
    var A = win[arg.prefix] = {
        'win': win,
        'doc': doc,
        'arg': arg,
        'stu': {},
        'fun': (function () {
            return {
                init: function () {
                    var scripts = A.doc.getElementsByTagName('SCRIPT'),
                        n = scripts.length,
                        i;
                    for (i = 0; i < n; i = i + 1) {
                        if (scripts[i].src.match(A.arg.src)) {
                            A.arg.script = scripts[i];
                            A.arg.options = A.fun.options();
                            break;
                        }
                    }
                    A.doc.head = A.doc.getElementsByTagName('HEAD')[0];
                    A.fun.structure();
                },
                // more functions
        }())
    };
    A.fun.init();
}(window, document, {
    'prefix': 'accescape_' + new Date().getTime(),
    'src': '/widget.js',
    'defaults': {
        'language': 'en'
    }
}));

1 个答案:

答案 0 :(得分:1)

document.head是一个只读属性。如果你想为oldIE填充它,你最好先测试它的不存在:

if (!doc.head)
    doc.head = doc.getElementsByTagName("head")[0];