javascript<脚本>标记代码在src下载之前执行

javascript <script> tag - code execution before src download

本文关键字:下载 src 执行 脚本 lt gt javascript 代码      更新时间:2024-06-01

在这个片段中

<script src="takes very long to download" type="text/javascript">
  alert('hi');
</script>

假设脚本需要很长时间才能下载。是否有可能在脚本下载完成之前触发警报"hi"?如果是,哪些浏览器可以这样做?请注意,我故意在同一个标签中放置了"alert('hi')"。

感谢

alert('hi')永远不会激发,因为script标记支持内联代码外部文件代码。。

在上阅读规格http://www.w3.org/TR/html4/interact/scripts.html#h-18.2.1

脚本可以在外部文件中的script元素的内容中定义。如果未设置src属性,则用户代理必须将元素的内容解释为脚本如果src具有URI值,则用户代理必须忽略元素的内容并通过URI检索脚本。

否。src属性的存在将导致元素的子节点被忽略。

如果您有两个脚本元素,那么第二个脚本仍然总是第二个执行,因为脚本元素是阻塞的。

只有当您有两个脚本元素,并且第一个具有deferasync属性时,第二个才能在第一个之前执行。

如果您有下面的代码,并且不希望在所有脚本下载之前触发警报('hi'),那么您可以等待文档就绪事件。您可以使用jQuery或普通JavaScript来完成此操作。

<script src="takes very long to download" type="text/javascript"></script>
<script type="text/javascript">
   alert('hi');
</script>

要推迟到所有脚本都已加载使用jQuery:

$( document ).ready( function () { 
    alert('hi');
});

这是因为你不能导入这样的脚本,并且在同一个脚本元素中运行javascript。。。因为外部脚本将覆盖您编写的javascript。。。。把它们放在不同的标签中。。。同样为了更快地导入js,制作一个模拟js-src-