如果我在 DOM 实现后更改元标记,会发生什么情况?
What happens if I change meta tags after the DOM has materialized?
查看 A-Frame source,我发现图书馆设置了几个带有 JavaScript 的元标记。
这在 A-Frame 的情况下应该是安全的:Mozilla 建议将他们的库作为阻塞、同步加载的脚本导入 <head>
,因此这项工作总是在我们退出之前发生 <head>
解析.
不过,这让我开始思考:如果在异步脚本中或在 DOMContentLoaded
之后使用 JavaScript 更改元标记会发生什么?
一些具体问题:
- 是否可以保证浏览器会尊重元标记突变?
- 在
<head>
解析/DOM 实现后让浏览器识别元标记更改是否存在已知问题?他们还会 'do things' 到页面吗?
- 如果元标记对我的 JavaScript 所做的工作至关重要,还有其他充分的理由我不应该这样做吗?
is there any guarantee in the specs that browsers should respect meta tag mutations?
与其他元素一样,它们是 DOM 元素。
规范不会提及任何具体内容,因为它们不是特例。
are there known issues with getting a browser to recognise meta tag changes after <head>
parsing / DOM materialisation?
不是从 DOM 之后检查它们的 POV。
查看 A-Frame source,我发现图书馆设置了几个带有 JavaScript 的元标记。
这在 A-Frame 的情况下应该是安全的:Mozilla 建议将他们的库作为阻塞、同步加载的脚本导入 <head>
,因此这项工作总是在我们退出之前发生 <head>
解析.
不过,这让我开始思考:如果在异步脚本中或在 DOMContentLoaded
之后使用 JavaScript 更改元标记会发生什么?
一些具体问题:
- 是否可以保证浏览器会尊重元标记突变?
- 在
<head>
解析/DOM 实现后让浏览器识别元标记更改是否存在已知问题?他们还会 'do things' 到页面吗? - 如果元标记对我的 JavaScript 所做的工作至关重要,还有其他充分的理由我不应该这样做吗?
is there any guarantee in the specs that browsers should respect meta tag mutations?
与其他元素一样,它们是 DOM 元素。
规范不会提及任何具体内容,因为它们不是特例。
are there known issues with getting a browser to recognise meta tag changes after
<head>
parsing / DOM materialisation?
不是从 DOM 之后检查它们的 POV。