头部标签的 Ractive / Mustache 模板
Ractive / Moustache Template for Head Tag
我一直在寻找这个,但找不到答案或例子。
是否可以使用 Ractive 模板构建跨页面一致的头部元素,并且可以从单独的文件中加载?
例如:所有 html、head 和 title 标签信息都通过可引用模板从外部文件加载到索引页面。
+html+
+头+
+标题+
+/标题+
+/头+
如果是这样,你是怎么做到的?当我试图绕过它时,jquery 和 ractive.js 需要加载。有different/better解决方案吗?
有可能。但这不切实际,还会引发其他问题。
这里是一个基本实现,它展示了如何对 <head>
进行模板化,但并不专注于将模板放入外部文件中。这在 Chrome 和 IE 中对我有用。
<html>
<head id="output"></head>
<script id="template" type="text/html">
<title>{{ title }}</title>
</script>
<script type="text/javascript" src="ractive.min.js"></script>
<script type="text/javascript">
var ractive = new Ractive({
template: "#template",
el: "#output",
data: {
title: "This is the title"
}
});
</script>
<body>
...
</body>
</html>
您将 运行 使用此方法遇到问题,因为在页面加载和 Ractive 启动之前不会加载 head 元素。这可能会导致以下问题:
- 搜索引擎可能无法读取页面标题和元标记
- 您需要加载到
<head>
中的任何 javascript 可能无法正常工作(我尝试了一些简单的示例并能够将 javascript 加载到 运行 但它失败了引用 body 中的任何元素。也许这是一个上下文问题,也许 Ractive 支持克服这个问题,但这是我不熟悉的领域。)
- 如果您需要有效的 HTML,这可能对您不起作用,因为脚本标签不能直接 children of
<html>
,和 <head>
应该 <title>
作为直接 child.
你最好使用 server-side 模板解决方案 <head>
。
我一直在寻找这个,但找不到答案或例子。
是否可以使用 Ractive 模板构建跨页面一致的头部元素,并且可以从单独的文件中加载?
例如:所有 html、head 和 title 标签信息都通过可引用模板从外部文件加载到索引页面。 +html+ +头+ +标题+ +/标题+ +/头+
如果是这样,你是怎么做到的?当我试图绕过它时,jquery 和 ractive.js 需要加载。有different/better解决方案吗?
有可能。但这不切实际,还会引发其他问题。
这里是一个基本实现,它展示了如何对 <head>
进行模板化,但并不专注于将模板放入外部文件中。这在 Chrome 和 IE 中对我有用。
<html>
<head id="output"></head>
<script id="template" type="text/html">
<title>{{ title }}</title>
</script>
<script type="text/javascript" src="ractive.min.js"></script>
<script type="text/javascript">
var ractive = new Ractive({
template: "#template",
el: "#output",
data: {
title: "This is the title"
}
});
</script>
<body>
...
</body>
</html>
您将 运行 使用此方法遇到问题,因为在页面加载和 Ractive 启动之前不会加载 head 元素。这可能会导致以下问题:
- 搜索引擎可能无法读取页面标题和元标记
- 您需要加载到
<head>
中的任何 javascript 可能无法正常工作(我尝试了一些简单的示例并能够将 javascript 加载到 运行 但它失败了引用 body 中的任何元素。也许这是一个上下文问题,也许 Ractive 支持克服这个问题,但这是我不熟悉的领域。) - 如果您需要有效的 HTML,这可能对您不起作用,因为脚本标签不能直接 children of
<html>
,和<head>
应该<title>
作为直接 child.
你最好使用 server-side 模板解决方案 <head>
。