1

我一直在尝试通过导入外部 HTML 文件来动态更改我的 HTML 页面的内容。我找到了一种使用 HTML 导入的方法,但如果我理解正确的话,这个功能将会因为 ES6 更新而过时。从我设法在网上找到的内容来看,可能有另一种使用javascript模块来做到这一点的方法,但我找不到任何具体的东西。

我想改变页面的很大一部分(一个包含表单的窗口变成一个展示用户统计信息的窗口),所以在 javascript 中使用 .innerHTML 似乎并不聪明。有人对如何导入 html 文件或动态更改页面内容有任何好的想法吗?(使用 javascript、节点等)

非常感谢任何帮助:)

4

1 回答 1

0

我有点晚了,答案已经链接到这个问题的评论中,但无论如何我都走了。

您应该能够使用 Ajax 来获取 html 文件内容。(作为字符串)有了 html 文件的内容,您应该能够使用 DOMParser 类将其解析为 JS 中的 htmlDoc(如全局documentfrom等)。document.getElement

https://developer.mozilla.org/en-US/docs/Web/API/DOMParser

https://codepen.io/Deefoozy/pen/PeYWge

将 html 解析为 htmlDocument 后,您应该能够使用.getElement或通过结果获取正文.body.children。这样做的结果应该是一个简单的 domNode,您可以将其附加到另一个 domNode。

于 2019-03-19T09:20:25.817 回答