我刚刚在谷歌浏览器中打开了一个空白的HTML页面,其中包含一些基本标签(如html,body,head等),并尝试在控制台中执行以下命令:
history.pushState(null, 'my test title', '/test/url');
历史事件工作正常,但页面标题保持不变。可以吗?我应该每次都手动更换吗?如果我应该,为什么在pushState()方法中有这样的参数,比如title?
答案 0 :(得分:34)
目前的浏览器似乎不支持pushState title属性。您可以通过在JS中设置它来轻松实现相同的功能。
document.title = "This is the new page title.";
答案 1 :(得分:5)
以下代码将在您使用history.pushState
时更改页面标题$(document).prop('title','your page title');
它也在与IE合作。
答案 2 :(得分:4)
如果您想要良好的搜索引擎优化,建议不要使用document.title
设置标题。
History.js在所有浏览器中优雅地支持HTML5历史/状态API(pushState,replaceState,onPopState)。包括对数据,标题,replaceState的持续支持。支持jQuery,MooTools和Prototype。
答案 3 :(得分:0)
当前,标题在所有现代浏览器中都使用history.push()进行了更改,但是您必须更改URL。 如果仅添加“ #locationhash”,则不会更改标题。