用新标题重新加载html页面

时间:2014-12-08 03:09:06

标签: javascript jquery html

我在单个html文档中有相同页面(或锚标记)链接。当用户单击这些链接时,他们会在新选项卡中打开相同的html文档。

新标签如何有新的文档标题?

下面我的代码的问题是它重命名当前标签的标题(而不是刚打开的新标题)。首次加载页面时,我希望页面有一个默认标题。当然,所有后续加载的新页面都会将其设置为标题。

<title>Default title</title>
<a href=#relativeLink target='_blank' onclick="return runMyFunction();">click me</a>

<script>
    function runMyFunction() {
        document.title="new title!"
        return true;
    }
</script>

2 个答案:

答案 0 :(得分:1)

有两种方法可以实现这一目标 1,将标题作为Url参数传递 2,将所有标题保存在数组中并传递titles数组的选定标题索引

<html>
  <head>
    <title>Default title</title>
  </head>
<body>
    <a href="?newTitle=My new title" target="_blank" >newTitle equal to My title 1</a>
    <a href="?newTitle=My new title 2" target="_blank" >newTitle equal to My title 2</a>
    <a href="?newTitle=My new title3" target="_blank" >newTitle equal to My title 3</a>
    <br />
    <a href="?tIdx=0" target="_blank" >tIdx equal to 0</a>
    <a href="?tIdx=1" target="_blank" >tIdx equal to 1</a>
    <a href="?tIdx=3" target="_blank" >tIdx equal to 2</a>
    <script>

        var titles = ["title 1", "title 2", "title 3" , "title 4"];


        function getUrlParameterValueByName(name) {
            name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
            var regexS = "[\\?&]" + name + "=([^&#]*)";
            var regex = new RegExp(regexS);
            var results = regex.exec(window.location.search);
            if (results == null)
                return "";
            else
                return decodeURIComponent(results[1].replace(/\+/g, " "));
        }

        var newTitleValue = getUrlParameterValueByName('newTitle');
        var titleIndex = getUrlParameterValueByName('tIdx');
        if (newTitleValue)
            document.title = newTitleValue;
        if (titleIndex)
            document.title = titles[titleIndex];


    </script>
</body>
<html>

答案 1 :(得分:0)

如果打开的新标签页是您创建的页面,请在加载页面时更改标题。您可以查看推荐人。 如果新标签是一个无法更改标题的外部网页,您只需创建自己的页面即可显示iframe中的外部网页。

<title>My Title</title>
<iframe src="/path/to/external" />