2012-07-19 20 views
1

我有一個ASP.NET MVC 3應用程序,我已經構建爲使用Knockout.js以下在BigShelf SPA的例子中的(多個)單個頁面的應用程序和History.js來處理用戶交互和導航。一切工作正常,但我注意到,標題一個奇怪的怪癖被顯示在瀏覽器標籤:怪異怪癖:pushState的和/或從hashChange瀏覽器標籤清除標題

  1. 當應用程序加載時,瀏覽器分頁標題正確顯示<title>標籤的內容,即My Single Page App
  2. 當History.js既可使用pushStatehashChange(取決於瀏覽器的能力)來修改URL,瀏覽器的標籤標題設置爲新修改的URL,即瀏覽器選項卡現在讀http://www.mysinglepageapp.com/modified/url

同樣,在功能上有沒問題,但對我來說標籤標題也被修改是很奇怪的。這在我測試過的所有瀏覽器(IE6 +,FF,Chrome,Safari)中都有發生。

他們無論如何改變或控制這種行爲?

+1

這不是該庫的默認行爲,它也改變了document.title?你需要設置一個,否則URL將被使用。 – Bergi 2012-07-19 23:58:43

+0

@Bergi謝謝你的提示。你是對的,事實證明,SPA中使用的History.js的封裝器將標題設置爲URL。 – sellmeadog 2012-07-20 00:15:19

回答

1

都會響起BERGI的評論中,我把在History.js定睛一看,在BigShelf SPA示例中提供的包裝。

原來,History.js提供接受其標題應該顯示history.pushState(params, title, url)的參數的方法。 SPA中的包裝器將URL作爲標題。我改變了我的應用程序的名稱,並解決了「問題」。

+0

哈,你自己得到了答案。那很好。^_ ^ – 2013-08-23 20:01:52