html - 从给定文件嵌入 HTML 行
问题描述
抱歉,如果已经回答了这个问题,我无法在任何地方找到答案,因此非常感谢您的帮助。
我正在运行一个简单的网站,其中包含一堆非常相似的 HTML 文件,每个文件都有相同的可点击链接组,这些链接会根据我对网站的操作而改变。
如果我需要添加/删除/更改一行 HTML,我需要对每个文件进行类似的操作。
我想知道 HTML 中是否有一个包含类型,我可以在其中指定一个文件中的不同行,并将它们引用到每个 HTML 文件中,这样我只需要更改引用文件本身。
我知道你可以使用 JS 来做到这一点,但是有什么方法可以使用纯 HTML 吗?
谢谢。
解决方案
使用纯 HTML?
是的,但是......它几乎肯定不会按照您期望或需要的方式工作。而且你不应该这样做,因为有很多更好的选择。
不该做什么
<object>
标签(见这里)可以被使用——或者更确切地说,被误用。问题是它会将您的片段添加为嵌入式文档,这意味着它将具有不同的布局、样式、脚本等上下文。
一个例子:我在一个文件中有一个 HTML 片段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>
行。
自己试试这个,你会发现确实包含了该片段。“演示”标题是样式化的,但“你好世界”不是,尽管我做了各种尝试。这可能会破坏您的目的。
无论如何,这是对标签的误用,因为它旨在与多媒体对象一起使用。
此外,此标记只能在 HTML 页面的正文中使用 - 而不是在标题中(如果这是您的要求之一)。
较旧的 HTML 标记,例如<embed>
和<iframe>
具有类似的功能。
所以与其...
推荐阅读
- mysql - 如果每个值至少满足一个条件,则将某个值分配给所有其他值
- javascript - TradingView React 组件中的图表更新不起作用
- azure-data-factory - ADF 翻转窗口触发器:依赖项触发器未按预期工作
- javascript - 将等待直到函数完成不返回承诺
- kubernetes - kustomize、secretGenerator 和 patchStrategicMerge:envFrom.secretRef 未读取散列密钥名称
- python - 从 Git 提交中获取数据并将其放入 YAML (Gitlab)
- javascript - HTML5 网站在手机屏幕关闭时运行地理定位和音频输出?
- angular - 一个元素上不能有多个模板绑定。仅使用一个以 * (" 为前缀的属性
- regex - 使用 IndexOf 和 Substring 在 IndexOf 之后捕获字符串
- javascript - 在nodejs中动态创建json对象