Meteor用户,
在我搜索教程和示例应用程序期间,我发现了一个使用独特头部结构的文件:
<meta charset="utf-8">
<title>Title</title>
<meta name="description" content="Top10">
<meta name="viewport" content="width=device-width" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1">
这个特定的示例应用程序在任何地方都没有<body>
标记,只是一个名为head.html
的文件,其中包含上述代码。我还了解到,Meteor似乎只是自动为你制作一个身体标签,所以从技术上讲,只需一个head.html即可。
所以,它让我想知道,有没有人为Meteor应用定义特定的头标?理由是什么?以上代码是一个很好的起点吗?
答案 0 :(得分:4)
当Meteor解析您的各种html文件时,任何包含<head></head>
之外的<template></template>
标记的文件都会在您应用的每个页面中连接成一个<head></head>
标记。这适用于包含要在每个页面上使用的标题,各种元标记和第三方资源等内容。然而,Meteor中仍然不存在对标题标签的句柄支持,因此它可以用它来做什么(无动态元信息)。
最后如果你想要动态信息,你将不得不求助于像jquery这样的东西
您可以在此处找到围绕<head>
标记的更多讨论:
答案 1 :(得分:3)
您可以使用铁:路由器轻松设置动态标题,例如:
onAfterAction: function(){
document.title = 'my awesome site: ' + Router.current().route.getName();
}
我使用head.html包含各种SEO设置:
<head>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="fragment" content="!"/>
<meta name="description" content="your description"/>
<meta property="og:title" content="your site title"/>
<meta property="og:type" content="website"/>
<meta property="og:image" content="https://yourimageurl"/>
<meta property="og:url" content="https://hostname"/>
<meta property="og:description" content="your description"/>
<meta name="twitter:card" content="summary"/>
<meta name="twitter:url" content="https://hostname"/>
<meta name="twitter:title" content="your site title"/>
<meta name="twitter:description" content="your site description"/>
<meta name="twitter:image" content="https://yourimageurl">
<noscript>You must have Javascript enabled in order to use this site</noscript>
<link rel="shortcut icon" href="/your-ico" type="image/x-icon" />
</head>
答案 2 :(得分:0)
展望https://github.com/kadirahq/meteor-dochead我找到了一种将数据动态添加到var meta = '<div>just an example</div>'
document.getElementsByTagName('head')[0].insertAdjacentHTML('beforeend', meta);
代码
{{1}}
或者,如果您需要更多功能,只需添加该软件包