在加载当前脚本时执行脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在加载当前脚本时执行脚本相关的知识,希望对你有一定的参考价值。
我想做像document.currentScript.onload = function(){alert(0)};
这样的事情。基本上,在当前脚本完成执行后执行一些代码。你会怎么做?
请注意,这是一个内联脚本。我想只在某些条件下设置onload处理程序,这些条件只能在当前脚本执行期间知道。
我尝试过的:
- 上面的片段。这不起作用,我的猜测是你不能在当前正在执行的脚本上设置onload处理程序。我的理由可能是错的。
document.write('x3cscript>alert(0);x3c/script>');
。我希望document.write
的内容将在当前脚本执行完毕后执行。但是,似乎内容在页面流上写入后立即执行。
答案
load
事件被触发only for external scripts(如果它在外部脚本中,您的代码将起作用)。
仅Firefox的解决方案是使用afterscriptexecute
事件。
<script id="first">
document.addEventListener("afterscriptexecute", function(e){
console.log(`Script "${e.target.id}" just finished executing`);
}, true);
</script>
<script id="second">console.log('a log');</script>
<script id="third">console.log('another log');</script>
<script id="fourth">console.log('yet another log');</script>
以上是关于在加载当前脚本时执行脚本的主要内容,如果未能解决你的问题,请参考以下文章
npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段
使用 browser.tabs.executeScript 加载时在选项卡上执行的内容脚本不会触发 window.onload 事件