我在单个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>
答案 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" />