onload handler和src的顺序在脚本元素中是否重要?

Ion*_*zău 15 html javascript

即将从这个答案,上面写着:

你应该在事件之后设置src属性f.ex:onload

el.onload = function() { //...
el.src = script;
Run Code Online (Sandbox Code Playgroud)

您还应该附加onload事件之前将脚本附加到DOM :

$body.append(el);
el.onload = function() { //...
el.src = script;
Run Code Online (Sandbox Code Playgroud)

请记住,您需要检查readystateIE支持.如果您使用的是jQuery,还可以尝试以下getScript()方法:http://api.jquery.com/jQuery.getScript/

我怀疑相信这将是问题的正确答案.

那么,设置onload处理程序的顺序是src如此重要吗?我认为它们是由浏览器立即评估的,所以我认为之间没有区别:

el.onload = function() { //...
el.src = script;
Run Code Online (Sandbox Code Playgroud)

el.src = script;
el.onload = function() { //...
Run Code Online (Sandbox Code Playgroud)

我对吗?

thi*_*all 3

'el' 已经是你的实时 DOM 的一部分了吗?如果是这样,当您更改其 onload 事件处理程序时,将不会评估其内容(因为 load 事件已经发生)。

el.onload = function() { //...

如果 el 尚未添加到页面中,例如,如果您正在构建一个视图,并且在所有设置完成后将被注入到页面中,那么是的,当它添加到页面中时,将触发它的 load 事件。

请注意“src”中的内容可能取决于“onload”中发生的情况。