在有源的情况下使用 HTML 脚本标签进行编码

2024-02-20

我注意到<script src="..."></script>标签不允许您在其中使用 JavaScript,例如:

<script src="myFile.js">
    alert( "This is a test" );
</script>

这不起作用,也不会在 FireBug 中抛出错误,为什么会发生这种情况,为什么我们必须添加额外的<script>标签允许 JS 在表单本身上使用?

Example

我有一个文件,找到@script/addScript.js从我的根开始,其中包含:

function addScript( $src )
{
    var script = document.createElement( 'script' );
    script.type = "text/javascript";
    script.src = $src;
    document.getElementsByTagName( 'head' )[0].appendChild( script );
}

这是为了让我能够快速有效地向 DOM 添加脚本,所以我尝试这样做:

<script src="script/addScript.js">
    addScript( "script/obj.js" );
    addScript( "script/home/login.js" );
</script>

但它不起作用,所以我必须这样做:

<script>
    addScript( "script/obj.js" );
    addScript( "script/home/login.js" );
</script>

脚本元素加载单个脚本。

它可以从 URL 或内联执行此操作,但仍然会加载one脚本;它不能使用both同时选择不同的源类型。

如果您尝试同时包含两者,内联脚本将被忽略:

<script src="example.js">
    this_is_ignored();
</script>

…所以你需要多个脚本元素。

<script src="example.js">
</script>
<script>
    this_is_NOT_ignored();
</script>

值得注意的是,script元素的内容仍然会存在于DOM中,所以有些人用它来存储JS引用的数据。src会读。data-*不过,属性(可以说)是一种更简洁的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在有源的情况下使用 HTML 脚本标签进行编码 的相关文章

随机推荐

  • 远离 CSS 的抽象

    许多框架试图从 HTML 自定义标签 JSF 组件系统 中抽象出来 以便更轻松地处理特定的问题 你们使用过的东西中是否有类似的 CSS 概念 它可以为你带来很多跨浏览器的魔力 支持类似的变量 为什么我每次想要那种颜色时都必须输入 3c5c8
  • 用点或连字符填充标签之间的可用空间

    我有一个带有标签的页面 这些标签包含在 div 中 标签有一个变量 我想用字符 点或 填充两者之间的空格 例如 我的标签文本 1 这里有一些文本 我的文字2 另一篇文字 如果您发现两个文本都是合理的 或者至少我尝试过 则可能是字符计数问题
  • Android 7 中的 ContextMenu 位置混乱

    我有一个应用程序 其中有一个简单的列表视图和上下文菜单 Android 7 之前的版本 一切看起来都正常 when clicking an item at the bottom of the list when clicking an it
  • 这些奇怪的环境变量是什么?

    I use GetEnvironmentString 获取程序的环境变量 每个程序的第一个结果都是这样的 我不知道这是什么意思 这是代码 LPWCH lpEnvString GetEnvironmentStringsW LPWSTR lps
  • 通过 Chrome 的自定义选项卡发布数据

    我想通过 CustomTab 或 Chrome 发送 POST HTTP 请求 然后最终显示页面 我进行了很多研究 但没有办法 有办法吗 可以通过 Volley 发送 POST 请求然后最终在浏览器中显示响应吗 我为此写了一个解决方法 小心
  • Wireshark 中以太网帧末尾的 0 字节是什么?

    after ARP protocol in a frame there are many 0 bytes Does anyone know the reason for the existence of these 0 bytes 检查以太
  • 将所有数据从一个订阅传输到另一订阅

    如何将我的所有云服务 数据库 虚拟机和 Blob 存储转移到我新订阅的另一个订阅 有没有更简单的方法 更新 2016 年 6 月 6 日 这个答案相当旧了 必须寻求 Azure 支持才能将数据从一项订阅传输到另一项订阅 此外 Azure 门
  • 如何从 bigcommerce API(地面、快递)获取订单“送货方式”?

    如何从 bigcommerce API 地面 快递 获取订单 送货方式 客户下订单时选择的运输方式 Thanks 参考这个page https developer bigcommerce com api stores v2 orders s
  • ECMAScript 规范:规范中问号的含义

    我见过很多这样的情况Let value be Return sth在规范中 example https tc39 github io ecma262 sec tonumber 有谁知道 的含义是什么 From 算法约定 http www e
  • 在 C# 中从字符串调用函数

    我知道在 php 中你可以进行如下调用 function name hello function name function hello echo hello 这在 Net 中可能吗 是的 您可以使用反射 像这样的事情 Type thisT
  • 同一页面上有多个 iScroll 元素

    我正在使用 jQtouch 和 iScroll 制作一个移动网站 我不想使用 iScroll 获得多个可滚动区域 但只有列表可以使用 iScroll 我尝试过这个 var scroll1 scroll2 function loaded sc
  • Spark 抛出 java.util.NoSuchElementException:找不到密钥:67

    在 Zeppelin 中运行 Spark 平分 kmmeans 算法 I transform my data using the TF IDF algorithm val idf new IDF minFreq fit data val h
  • 在 Python OpenCV 4.2.0(2020 年)中使用 SIFT(或替代方案)

    我正在尝试使用 SIFT 与 Python 进行特征检测 但它不再是 OpenCV 的一部分orOpenCV 贡献 使用 OpenCV opencv contrib python 两个版本 4 2 0 34 这个问题的最新版本 我得到 gt
  • MPI_Bsend 的缺点?

    我最近遇到了一个死锁 我可以通过使用来解决MPI Bsend代替MPI Send 如果我理解正确的话 MPI Bsend 是一个非阻塞发送 并且可以安全地修改我发送的内容 而不必担心发送操作何时完成 所以 double x 1 MPI Bs
  • 在关闭之前的 AlertViewController 后呈现新的 AlertViewController - Swift

    我试图在用户选择第一个 AlertViewController 中的操作后呈现新警报 请在下面找到我的代码 IBAction func forgotPassword sender AnyObject 1 Create the alert c
  • Firestore 规则(判断真假)

    在 firestore 中你可以有如下规则 service cloud firestore match databases database documents match products document allow read writ
  • 在 C# 中将一组成员标记为私有/公共

    在 C 类声明中 您可以将一组成员标记为私有或公共 例如 private int x double y 好像c 中没有办法做到这一点 我错了吗 不 您不能在 C 中执行此操作 最好的情况下 你可以对成员使用默认的可见性 即私有的 而不是使用
  • 为什么以及何时需要多个构建代理?

    考虑 TFS 2010 的构建控制器拥有 1 个以上构建代理的能力 由于构建对于团队 环境来说是一个主观主题 因此请考虑在提交 签入时执行构建的环境 每个项目集合将包含 10 多个团队项目 但一天内可能只致力于其中 1 或 2 个 TFS
  • 改造覆盖端点

    我可以覆盖设置的端点路径吗RestAdapter建造者 假设我有 20 个端点使用相同的基本 URL 但有 1 个端点不使用相同的基本 URL 我想调用 setEndpoint 供所有 20 个使用 但在我需要使用不同基本 URL 的一种情
  • 在有源的情况下使用 HTML 脚本标签进行编码

    我注意到标签不允许您在其中使用 JavaScript 例如 这不起作用 也不会在 FireBug 中抛出错误 为什么会发生这种情况 为什么我们必须添加额外的