如何将文档名称发送到javascript文件?

时间:2010-12-27 11:05:55

标签: javascript html

我想,让我们说index.htm有这个:

<html>
    <head>
        <script type="text/javascript" src="javascriptfile.js"></script>
    </head>
</html>

然后让该脚本返回<title>index</title>,并且索引根据文件名是动态的。我怎么能做到这一点?

4 个答案:

答案 0 :(得分:3)

你应该真正做这个服务器端。但是,如果你坚持客户端处理,这应该有效:

document.write('<title>' +
    window.location.pathname.replace(/^(.*\/)?([^\/.]*).*$/, "$2") +
    '</title>');

如果您采用这种方法,每次有人访问您的网站时,$ DEITY都会杀死一只小猫。

答案 1 :(得分:2)

有两种可能的答案:

  • 如果您确切知道您拥有的页面以及所有页面都是静态HTML,请不要这样做。只需将标题放在页面中,您就可以避免无用的延迟
  • 在其他情况下,这不是JS的工作。使用服务器端技术动态创建页面。

简而言之:dynamic ? use server-side language : put title directly in html

答案 2 :(得分:1)

您应该注意到浏览器并不真正知道文件名是什么。它所知道的是它的公共位置(URL)。考虑到这一点,您可以从document.location

中读取URI

https://developer.mozilla.org/en/DOM/document.location

此属性返回Location对象:

https://developer.mozilla.org/en/DOM/window.location

Location对象具有可以解析的pathname属性。

答案 3 :(得分:1)

// get your filename
var uri = location.href.split("?")[0].split("/");
var filename = uri[uri.length-1];

// get title tag DOMnode
var title = document.getElementByTagName('title')[0];
title.innerText = filename;