1

我有一个 ASP.NET MVC 3 应用程序,它是作为单页应用程序构建的,它遵循BigShelf SPA中的示例,使用 Knockout.js 和 History.js 来处理用户交互和导航。一切正常,但我注意到一个奇怪的怪癖,标题显示在浏览器选项卡中:

  1. 当应用程序加载时,浏览器选项卡标题会正确显示<title>标签的内容,即My Single Page App
  2. 当 History.js 使用pushStateor hashChange(取决于浏览器的能力)修改 URL 时,浏览器的选项卡标题设置为新修改的 URL,即浏览器选项卡现在读取http://www.mysinglepageapp.com/modified/url

同样,功能上没有问题,但对我来说很奇怪标签标题也被修改了。这发生在我测试过的所有浏览器(IE6+、FF、Chrome、Safari)中。

他们无论如何要改变或控制这种行为吗?

4

1 回答 1

1

离开 Bergi 的评论,我仔细研究了 History.js 和 BigShelf SPA 示例中提供的包装器。

结果是 History.js 提供了一个方法,该方法接受应该显示哪个标题的参数history.pushState(params, title, url)。SPA 中的包装器将 url 作为标题传递。我将其更改为我的应用程序的名称并解决了“问题”。

于 2012-07-20T00:14:00.297 回答