Javascript SCRIPT5045:在严格模式下不允许分配只读属性
我得到了SCRIPT5045:在IE 11中(最新的Chrome浏览器可以正常工作),在严格模式下不允许指定只读属性Javascript SCRIPT5045:在严格模式下不允许分配只读属性,javascript,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,
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'
}
}));
(函数(win、doc、arg){
"严格使用",;
变量A=win[arg.prefix]={
“赢”:赢,
“doc”:doc,
“arg”:arg,
‘斯图’:{},
‘乐趣’:(功能(){
返回{
init:函数(){
var scripts=A.doc.getElementsByTagName('SCRIPT'),
n=scripts.length,
我
对于(i=0;i
是只读属性。如果要为旧属性填充,最好先测试它是否不存在:
if (!doc.head)
doc.head = doc.getElementsByTagName("head")[0];
arg.prefix
是undefined
,这使您覆盖了全局undefined
变量???,该变量本应引发第一个错误!@Bergi在我试图简化代码并删除不相关的部分时,删除了这些参数。我已修复了上面的代码,将arg.prefix
包含在内。很抱歉造成混淆。我明白了,谢谢。虽然我已经回答了主要问题:-)谢谢!我从一个完全不同的角度看了它,忽略了doc.head
已经存在的事实。我选择了从doc.head
重命名为doc.heads
。再次感谢,并对最初的混乱表示抱歉。