处理一些遗留代码 atm,我对Javascript
Internet Explorer 有一个非常烦人的问题。
GUI 的设置包括用 document.write() 打印的几行 HTML(来自 .js 文件)和一些在 Javascript 函数中的工作。
在 Javascript 函数中,DOM 似乎没有被完全加载,因为简单的语句,如在无效元素上this.domInputObj.setAttribute(a,b)
产生setAttribute
调用错误。
js
//Some where in the beginning we print an input field with document.write
document.write('<input ...');
...
new SomeObject(document.forms[formA].inputFieldA)
B.js
function SomeObject(inputFieldObj) {
// the text input field
this.inputObjFieldObj = inputFieldObj;
this.inputFieldObj.setAttribute('a','b') //e.g. yields error in IE
}
我的问题是如何仅在 IE 中发生这种情况?我认为这与 .js 文件的加载顺序有关(可能仍然如此)并且其他浏览器“更智能”?
如果我调试然后document.write
在 Javascript 调用之前发生,但它是否以某种方式缓冲?
非常感谢您的任何想法。
编辑
澄清 B.js。此外,字母命名并不意味着加载顺序。