【问题标题】:Html script tag - can script be added when src is usedhtml脚本标签-使用src时可以添加脚本
【发布时间】:2014-02-17 19:44:37
【问题描述】:

我正在使用带有 src 属性的 html 脚本标记,如下所示:

<script src="http://...">
</script>

在脚本运行后,我还需要添加更多代码来重定向页面 - 在现有脚本标签之间添加脚本是否有效/可接受,还是应该在最后添加另一个脚本?

这个:

<script src="http://...">
    ...do something else he
</script>

或者:

<script src="http://...">
</script>
<script>
    ...my other code here
</script>

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    不,它不能。

    使用底部的。

    长答案…

    w3c 状态

    “SCRIPT 元素将脚本放置在文档中。这个元素可以在 HTML 文档的 HEAD 或 BODY 中出现任意次数。

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

    来源:http://www.w3.org/TR/html401/interact/scripts.html

    【讨论】:

      【解决方案2】:

      好家伙。您不能在具有 src 标签的脚本标签内编写代码。

      您必须使用不同的脚本标签。

      当js从上到下加载时。您的代码将正常工作。

      【讨论】:

        【解决方案3】:

        如果脚本元素具有 src 属性,则必须忽略内容,任何其他行为都是不符合的。

        在博客中(作为一种技巧)建议将内容放入元素中,知道它不会被评估,然后使用 DOM 方法将内容作为字符串获取,然后对其进行评估或将其插入新的脚本元素中。这些都不是一个好主意。

        所以最好在包含 src 的初始脚本标签之后添加另一个脚本标签。

        【讨论】:

          【解决方案4】:

          我刚试过这个,脚本标签之间的代码不会运行, 我想这是因为一旦添加了“src”属性,脚本标签中的代码就会被忽略。

          但是,如果您只是想在脚本运行后重定向页面,您只需要

          window.location = "../YourRedirectPage";
          

          在外部文件中的代码末尾

          【讨论】:

          • 我不能使用外部文件,因为它在另一个站点上。
          猜你喜欢
          • 2022-01-06
          • 2020-07-24
          • 1970-01-01
          • 1970-01-01
          • 2020-12-21
          • 2012-12-08
          • 1970-01-01
          相关资源
          最近更新 更多