Javascript 设置已存在脚本标记的src属性
当我尝试设置一个脚本标记的src属性时,该脚本标记的src属性有另一个src属性值,该属性会被修改,但脚本不会执行 我知道还有其他选择,比如创建一个新的脚本标记并设置它的src属性,但是为什么设置一个已经存在的脚本标记的src属性是完全无用的呢?因为 更改src、type、nomodule、async、defer、crossorigin、, 完整性和referrerpolicy属性动态地没有直接 效应;这些属性仅在描述的特定时间使用 下面 我不会在这里复制,因为它相当长,但长话短说:每个脚本元素都是一个小型状态机,当元素第一次处理时,Javascript 设置已存在脚本标记的src属性,javascript,html,dom,Javascript,Html,Dom,当我尝试设置一个脚本标记的src属性时,该脚本标记的src属性有另一个src属性值,该属性会被修改,但脚本不会执行 我知道还有其他选择,比如创建一个新的脚本标记并设置它的src属性,但是为什么设置一个已经存在的脚本标记的src属性是完全无用的呢?因为 更改src、type、nomodule、async、defer、crossorigin、, 完整性和referrerpolicy属性动态地没有直接 效应;这些属性仅在描述的特定时间使用 下面 我不会在这里复制,因为它相当长,但长话短说:每个脚本元素
src
属性仅在一个特定状态下使用(链接段落中的准备步骤)。因为
更改src、type、nomodule、async、defer、crossorigin、,
完整性和referrerpolicy属性动态地没有直接
效应;这些属性仅在描述的特定时间使用
下面
我不会在这里复制,因为它相当长,但长话短说:每个脚本元素都是一个小型状态机,
src
属性仅在元素第一次处理时的一个特定状态下使用(链接段落中的准备步骤).因为浏览器加载时它不是指向资源的动态链接,所以它解析脚本标记并包含src属性或标记体。以后更新它不会导致浏览器重新加载include。@AdamH也许,但我认为这是一个值得考虑的问题。例如,更新
“src”属性会重新加载帧。@Pointy iFrame是一种完全不同的对象类型。如果更新除样式和脚本之外的任何元素的属性,它们都会立即生效。@AdamH-Oh我理解;我的观点是,如果你不花大量时间专注于规范,那么本质上就不清楚了。@Pointy我从来没有暗示过这个问题是琐碎或毫无意义的,我对所问的问题提供了一个直接而深思熟虑的答案。我不确定问题是否在这里。因为浏览器加载时它不是指向资源的动态链接,它解析脚本标记并包含src属性或标记体。以后更新它不会导致浏览器重新加载include。@AdamH也许,但我认为这是一个值得考虑的问题。例如,更新
“src”属性会重新加载帧。@Pointy iFrame是一种完全不同的对象类型。如果更新除样式和脚本之外的任何元素的属性,它们都会立即生效。@AdamH-Oh我理解;我的观点是,如果你不花大量时间专注于规范,那么本质上就不清楚了。@Pointy我从来没有暗示过这个问题是琐碎或毫无意义的,我对所问的问题提供了一个直接而深思熟虑的答案。我不确定问题出在这里。这是只针对脚本标记还是其他标记,如img和iframe?在这些元素的文档中没有类似的提及,因此应该可以工作。如果你需要的话,很容易对它进行快速测试。(img
'ssrc
和iframe
'ssrc
工作)。这仅仅是针对脚本标记还是针对其他标记,如img和iframe?在这些元素的文档中没有类似的提及,因此应该可以工作。如果你需要的话,很容易对它进行快速测试。(img
的src
和iframe
的src
工作)。