使用javascript动态构建html标题标记

时间:2012-09-16 02:05:49

标签: javascript html dynamic title

我正在开发的网站上有很多页面,其中每个页面都有自己的标题标签。在许多情况下,标题具有常量文本,例如:

主页|第1节|第1页 主页|第1节|第2页 主页|第1节|第3页等...

插入这些标题会在以后进行更难的更改,更不用说记住添加它们的麻烦了。我希望找到一种使用javascript动态生成每个页面标题的方法,该方法基于网站文件夹结构中页面的位置。

我目前正在使用一个脚本为这个面包屑做了类似的事情,但我不知道如何引用相同的脚本,或者为页面标题构建类似的脚本。面包屑脚本在这里:http://trcreative.us/dev/jmsracing/js/breadcrumbs.js

并且大多数情况下正是我需要的标题,减去每个面包屑项目的链接。 (我不希望它明显地为标题做到这一点)。

请参阅此处应用的面包屑:http://trcreative.us/dev/jmsracing/races/pigman-long-and-olympic/

任何帮助将不胜感激。谢谢

4 个答案:

答案 0 :(得分:5)

document对象具有title属性,可以像这样显式设置:

document.title = "some_title_here";

答案 1 :(得分:5)

假设您的网址与home/section/page.html一样,您可以在任意网页的顶部使用此功能,如果您的意思是这样,它会根据网址设置标题。

function setTitle(extra) {
  document.title = location.pathname.split('/').map(function(v) {
    return v.replace(/\.(html|php)/, '')
      .replace(/^\w/, function(a) { return a.toUpperCase(); });
  }).join(' | ') + (extra && ' | '+ extra);
}

使用此功能将生成如下标题:Home | Section | Page。如果要为特定页面添加特定内容,则将字符串作为extra参数传递,并将其添加到标题中。

// url: http://mypage.com/home/about/frogs    
setTitle('Frogs are awesome');
console.log(document.title); //=> Home | About | Frogs | Frogs are awesome

答案 2 :(得分:2)

你可以使用类似的东西(如果使用javascript)

var getTitleOfPage = function(){
    // logic here to work out the title of the page.
};

var title = getTitleOfPage();
document.title = title;

或者,您也可以使用您正在使用的服务器端语言来设置标题。

答案 3 :(得分:1)

在JQuery中试用此代码

<script type="text/javascript">
  $(document).ready(function() {
    document.title = 'your page title goes here';
  });
</script>