我正在尝试将事件侦听器添加到当前正在执行的脚本中,如下所示:
EventTarget.prototype.addEventListener.apply(this.currentScript,["load",somefunction()]]
我可以在chrome开发工具中看到此脚本上的事件,但由于某种原因它不会触发。甚至可以将eventlistener添加到已经开始执行的脚本标签中?如果这是我做错了吗?
甚至可能在已开始执行的脚本标签中添加事件监听器?
可能吗?是。有什么用吗?我不这么认为。 AFAIK届时将已触发“加载”事件。
我唯一发现在脚本标记上用于'load'事件的时间是动态创建它们时,例如:
function loadError(oError) {
throw new URIError("The script " + oError.target.src + " didn't load correctly.");
}
function prefixScript(url, onloadFunction) {
var newScript = document.createElement("script");
newScript.onerror = loadError;
if (onloadFunction) { newScript.onload = onloadFunction; }
document.currentScript.parentNode.insertBefore(newScript, document.currentScript);
newScript.src = url;
}
https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement