从给定文件中嵌入 HTML 行
Embed Lines of HTML from a given file
抱歉,如果这个问题已经得到解答,我无法在任何地方找到这个问题的答案,因此非常感谢您的帮助。
我是 运行 一个简单的网站,有一堆非常相似的 HTML 文件,每个文件都有同一组可点击链接,这些链接会根据我对网站的操作而变化。
如果我需要 add/remove/change 一行 HTML,我需要为每个文件做同样的事情。
我想知道 HTML 中是否内置了一个包含类型,我可以在其中指定一个文件中的不同行,并将它们引用到每个 HTML 文件中,这样我只需要更改参考文件本身。
我知道你可以使用 JS 来做到这一点,但是有什么方法可以使用纯 HTML 吗?
谢谢。
使用纯 HTML?
是的,但是...它几乎可以肯定无法按照您期望或需要的方式工作。你不应该这样做,因为有很多更好的选择。
不该做什么
可以使用 <object>
标签(参见 here)——或者更确切地说,mis-used。问题是它将您的片段添加为嵌入式文档,这意味着它将有不同的布局、样式、脚本等上下文。
一个例子:我在文件 fragment.html
:
中有一个 HTML 的片段
<div class="stylish">hello world<div>
我有另一个文件 welcome.html
包含完整的 HTML 页:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>HTML object tag</title>
<style>
.stylish { color: magenta; }
</style>
</head>
<body>
<h2 class="stylish">demo</h2>
<div class="stylish">
<!-- don't do this! -->
<object data="fragment.html"></object>
<div>
</body>
</html>
具体来说,请注意 <object data="fragment.html"></object>
行。
你自己试试看,你会发现片段确实包含在内。 "demo" 标题是有样式的,但 "hello world" 不是,尽管我做了各种尝试。这可能违背了您的目的。
无论如何,这是一个 mis-use 标签,因为它旨在用于多媒体 objects。
此外,此标记只能用于 HTML 页面的 body - 不能用于 header(如果这是您的要求之一)。
较早的 HTML 标签,例如 <embed>
和 <iframe>
具有相似的功能。
所以,相反...
抱歉,如果这个问题已经得到解答,我无法在任何地方找到这个问题的答案,因此非常感谢您的帮助。
我是 运行 一个简单的网站,有一堆非常相似的 HTML 文件,每个文件都有同一组可点击链接,这些链接会根据我对网站的操作而变化。
如果我需要 add/remove/change 一行 HTML,我需要为每个文件做同样的事情。
我想知道 HTML 中是否内置了一个包含类型,我可以在其中指定一个文件中的不同行,并将它们引用到每个 HTML 文件中,这样我只需要更改参考文件本身。
我知道你可以使用 JS 来做到这一点,但是有什么方法可以使用纯 HTML 吗?
谢谢。
使用纯 HTML?
是的,但是...它几乎可以肯定无法按照您期望或需要的方式工作。你不应该这样做,因为有很多更好的选择。
不该做什么
可以使用 <object>
标签(参见 here)——或者更确切地说,mis-used。问题是它将您的片段添加为嵌入式文档,这意味着它将有不同的布局、样式、脚本等上下文。
一个例子:我在文件 fragment.html
:
<div class="stylish">hello world<div>
我有另一个文件 welcome.html
包含完整的 HTML 页:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>HTML object tag</title>
<style>
.stylish { color: magenta; }
</style>
</head>
<body>
<h2 class="stylish">demo</h2>
<div class="stylish">
<!-- don't do this! -->
<object data="fragment.html"></object>
<div>
</body>
</html>
具体来说,请注意 <object data="fragment.html"></object>
行。
你自己试试看,你会发现片段确实包含在内。 "demo" 标题是有样式的,但 "hello world" 不是,尽管我做了各种尝试。这可能违背了您的目的。
无论如何,这是一个 mis-use 标签,因为它旨在用于多媒体 objects。
此外,此标记只能用于 HTML 页面的 body - 不能用于 header(如果这是您的要求之一)。
较早的 HTML 标签,例如 <embed>
和 <iframe>
具有相似的功能。