我正在尝试创建一个网站(用于学习目的),并且我想为我的标题标签添加前缀
例如,假设我的站点名称是SZ,我希望我创建的每个新页面都有SZ - something作为标题选项卡
我认为最简单的例子是亚马逊网站,所有的标题标签都以Amazon.co.jp:something开头
哦,甚至Stack Overflow也在使用它,但作为后缀,就像在something - Stack Overflow中一样
有没有一种方法可以做到这一点而不必在每个页面上添加<title>SZ - something</title>?
发布于 2017-08-07 18:25:47
你在这里没有提到你是否使用任何框架或语言,但我假设你没有,在普通的HTML中没有很好的方法来做到这一点,通常模板语言会为你做这件事。
但是,如果您已经有了一个正在使用的JavaScript文件,或者不介意添加一个JavaScript文件,那么有一种方法可以做到这一点。这不是我在生产环境中会做的事情,因为这可能不利于搜索引擎优化,但如果你只是在学习东西和玩玩,这似乎是完全合理的。
document.addEventListener('DOMContentLoaded', function() { document.title = "SZ - " + document.title; });
这意味着一旦文档被完全解析并准备就绪,JavaScript将接受标题值,因为它已经存在,并在其前面加上"SZ -“,允许您在文档上设置<title>My Rad Home Page</title>并将其转换为"SZ - My Rad Home Page",这听起来就像您想要的。
发布于 2017-08-07 18:28:06
有没有一种不用在每个页面上都添加
<title>SZ - something</title>的方法呢?
没有一种好的方法可以做到这一点。如果您查看Amazon或Stackoverflow的源代码,那么您将看到title元素包含该内容。
如果你喜欢坏的方式,那么你可以把JavaScript放到每一个页面上:
document.title = "SZ - " + document.title;…但这具有依赖JS的所有常见缺点。
通常,这个问题可以通过将内容放在每个页面上的<title>元素中来解决。与所有这些重复的事情一样,这最好使用模板来完成。
这可以在运行时应用于服务器端,或者在构建时使用静态站点生成器在开发系统上应用。
https://stackoverflow.com/questions/45544321
复制相似问题