Javascript inside HTML 导入不影响导入 HTML
Javascript inside HTML import not affecting imported HTML
我正在从 index.html
文件中的脚本导入 html 文档 form.html
。
form.html
基本上是 HTML 的一个片段,在 html 的底部是一个将 html 附加到主文档的内部脚本:
之后,我引用了一个外部脚本,它应该对 form.html
中的 HTML 做一些事情。但是,这对 Firefox 没有影响。
如果我在 Firefox 开发人员工具中检查主文档的 <head>
,我可以看到 "document fragment" 组成并具有正确的脚本效果。但是,正文中出现的实际导入的HTML不受影响。
我已经尝试在 form.html
的底部内联脚本。我还尝试使用 window.onload
将外部脚本附加到主文档 body
的末尾,并尝试根据 使用 link
标签。
不太确定还能尝试什么。如果可能的话,我想保持脚本模块化并包含在 form.html
中,以便仅在请求 HTML 页面时才请求它。
谢谢,
使用HTML Imports polyfill时,导入文档的处理只是异步的。因此,您应该等待 HTMLImportsLoaded
事件或使用 HTMLImports.whenReady()
方法来确保内容已导入。
<head>
<script src="html-imports.min.js"></script>
<link rel="import" src="from.html">
<body>
//code to be injected
<script>
document.addEventListener( 'HTMLImportsLoaded' , ev => {
//you can safely access the imported code in the body
} )
</script>
我正在从 index.html
文件中的脚本导入 html 文档 form.html
。
form.html
基本上是 HTML 的一个片段,在 html 的底部是一个将 html 附加到主文档的内部脚本:
之后,我引用了一个外部脚本,它应该对 form.html
中的 HTML 做一些事情。但是,这对 Firefox 没有影响。
如果我在 Firefox 开发人员工具中检查主文档的 <head>
,我可以看到 "document fragment" 组成并具有正确的脚本效果。但是,正文中出现的实际导入的HTML不受影响。
我已经尝试在 form.html
的底部内联脚本。我还尝试使用 window.onload
将外部脚本附加到主文档 body
的末尾,并尝试根据 link
标签。
不太确定还能尝试什么。如果可能的话,我想保持脚本模块化并包含在 form.html
中,以便仅在请求 HTML 页面时才请求它。
谢谢,
使用HTML Imports polyfill时,导入文档的处理只是异步的。因此,您应该等待 HTMLImportsLoaded
事件或使用 HTMLImports.whenReady()
方法来确保内容已导入。
<head>
<script src="html-imports.min.js"></script>
<link rel="import" src="from.html">
<body>
//code to be injected
<script>
document.addEventListener( 'HTMLImportsLoaded' , ev => {
//you can safely access the imported code in the body
} )
</script>