我选择了一个项目来实现按需脚本加载器(在这种情况下,用于HTML5 / Flash视频播放器)。我不想使用库,我不想使用XHR / AJAX。 (某些库的常见选择,例如jQuery的当前版本 - 即getScript
。)我引用了一些代码,包括旧版本的jQuery和使用getScript
的{{1}}创建抓取代码的DOM元素。看一下,他们做了一些特殊的事情,其中最重要的是设置document.createElement("script")
null
和onload
元素的onreadystatechange
属性。他们也会删除/删除DOM中的script
元素。
我理解为什么第一件事是必要的,以防止IE 6的引用计数问题,而不是垃圾收集DOM元素或事件处理函数已经使用过。但是删除script
元素也是必要的吗?即使script
元素已被删除,脚本及其中尚未执行的任何代码是否仍会运行?我认为它会;我从来没有删除任何类型的script
元素,无论是最初的文档的一部分(静态)还是动态插入(动态)。