【发布时间】:2012-07-19 23:55:17
【问题描述】:
我有一个 ASP.NET MVC 3 应用程序,我将它构建为一个单页应用程序,它遵循 BigShelf SPA 中的示例,使用 Knockout.js 和 History.js 来处理用户交互和导航。一切正常,但我注意到一个奇怪的怪癖,标题显示在浏览器选项卡中:
- 当应用程序加载时,浏览器标签标题正确显示
<title>标签的内容,即My Single Page App - 当History.js 使用
pushState或hashChange(取决于浏览器的能力)修改URL 时,浏览器的标签标题设置为新修改的URL,即浏览器标签现在显示为@ 987654326@
同样,功能上没有问题,但对我来说很奇怪标签标题也被修改了。这发生在我测试过的所有浏览器(IE6+、FF、Chrome、Safari)中。
他们是否无论如何要改变或控制这种行为?
【问题讨论】:
-
这不是该库的默认行为,它也会更改 document.title 吗?您需要设置一个,否则将使用 URL。
-
@Bergi 感谢您的提示。你是对的,事实证明 SPA 中使用的 History.js 的包装器将标题设置为 URL。
标签: javascript pushstate history.js hashchange