我正在使用knockout和sammy.js爲我的小單頁面應用程序。samm.js標題比純javascript標題有什麼優勢嗎?
在路由期間導航期間,我需要修改瀏覽器窗口的標題。 Sammy.js有一個specific plugin處理這個,但看看source code它在我看來,這只是一個簡單的包裝document.title = '...';
。
那麼這個插件給我的路由裏面的純文檔document.title有什麼好處?
我正在使用knockout和sammy.js爲我的小單頁面應用程序。samm.js標題比純javascript標題有什麼優勢嗎?
在路由期間導航期間,我需要修改瀏覽器窗口的標題。 Sammy.js有一個specific plugin處理這個,但看看source code它在我看來,這只是一個簡單的包裝document.title = '...';
。
那麼這個插件給我的路由裏面的純文檔document.title有什麼好處?
需要更改窗口標題的唯一方法是修改document.title屬性。這個Sammy插件提供的是一種構建標題的方法。
看着自己的源代碼,他們提供了2個選項:
(1)使用的setTitle並給它一個字符串。這將設置將繼續在整個應用程序中使用的標題的第一部分。它不會改變瀏覽器的標題。
例(從他們的源代碼):
this.setTitle('My App -');
現在你未來的每一個路線,你想有一個獨特的標題會做什麼,是這樣的:
this.title('Home');
所得的標題,現在出現在瀏覽器中的標題是:「我的應用程序 - 首頁」
在另一頁上它可能是:「我的應用程序 - 服務」
等等。這使您可以輕鬆地保留標題的靜態部分以防萬一您不希望它消失。
(2)提供自己的函數來構建標題。如果您有很多條件或特殊規則需要遵循,這很有用。您的功能可以簡單地將所有內容轉換爲大寫或其他您需要的內容。
例子:
this.setTitle(function(title) {
return title.toUpperCase();
});
現在,當您設置標題,它會永遠是大寫。
this.title('Home');
產生的標題是:首頁
這樣簡短的回答,如果你有簡單的標題要使用然後通過各種手段直接使用document.title時。如果您有規則,轉換或希望在開始時保留公司名稱以及頁面標題,則可能需要使用該插件。
很好的解釋。謝謝。 –