我一直在使用此函数将onload处理程序附加到脚本标签,这似乎是Internet上推荐的方法。 但是,如果页面已加载(在8中测试),则在Internet Explorer中不起作用。您可以看到它可以在普通浏览器中运行(加载脚本时会发出警报)。
我想念什么吗? 谢谢
您应该致电jQuery.getScript,它确实在寻找您想要的东西。
jQuery.getScript
编辑 :这是来自jQuery的相关源代码:
var head = document.getElementsByTagName("head")[0] || document.documentElement; var script = document.createElement("script"); if ( s.scriptCharset ) { script.charset = s.scriptCharset; } script.src = s.url; // Handle Script loading var done = false; // Attach handlers for all browsers script.onload = script.onreadystatechange = function() { if ( !done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") ) { done = true; jQuery.handleSuccess( s, xhr, status, data ); jQuery.handleComplete( s, xhr, status, data ); // Handle memory leak in IE script.onload = script.onreadystatechange = null; if ( head && script.parentNode ) { head.removeChild( script ); } } }; // Use insertBefore instead of appendChild to circumvent an IE6 bug. // This arises when a base node is used (#2709 and #4378). head.insertBefore( script, head.firstChild );