使用Javascript,如何在单击特定锚标记时更改页面标题。
<a href="index.html" title="Home">Home</a>
<a href="about.html" title="About Us">About Us</a>
可能类似于锚标签中的title =“”。另外,如果可能的话,你能否拥有它支持历史记录,这样如果按下后退或前进按钮,它就会变回原来的状态。
感谢任何帮助或建议。
修订版:我有另一个动态更改页面的插件,因此单击上述语句中的链接实际上不会更改标题中的任何内容。
答案 0 :(得分:2)
您提供的当前HTML代码实际上会在点击后将用户带到其他页面。因此,根据index.html
和about.html
的标题属性,它可能具有与当前页面不同的标题。
如果您不希望页面重新加载并在历史记录中添加条目,则可以执行以下操作:
$('a').click(function(e) {
$('title').text($(this).attr('title'));
history.pushState({}, '', $(this).attr('href'));
e.preventDefault();
});
您可以在此处详细了解.pushState(...)
API:https://developer.mozilla.org/en-US/docs/Web/API/History_API
答案 1 :(得分:1)
查看History.pushState()
方法:https://developer.mozilla.org/en-US/docs/Web/API/History/pushState
您可以使用它将新状态推送到浏览器历史记录,如下所示:
var state = { 'page_id': 1, 'user_id': 5 };
var title = 'Hello World';
var url = 'hello-world.html';
history.pushState(state, title, url);
这应该更改标题和网址,并允许您使用浏览器后退和转发功能
要使用此功能而不需要任何外部库(如jQuery),您可以将其添加到链接的onclick
,例如:
<a href="index.html" title="Home" onclick="history.pushState({}, 'Home Page Title', 'home.html')">Home</a>
答案 2 :(得分:0)
<html>
<head>
<title>sample Page</title>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
$(document).ready(function () {
$("a").click(function (e) {
e.preventDefault()
$('title').text($(this).attr('title'));
window.pushState({}, '', 'about.html');
e.preventDefault();
});
});
</script>
</head>
<body>
<a href="index.html" title="Home">Home</a>
<a href="about.html" title="About Us">About Us</a>
</body>
</html>