AngularJS 路由沒有煩人的 Hashbang (#)
在 AngularJS 中,路由允許您為應用程式定義不同的狀態和視圖。當使用 $routeProvider 聲明路由規則時,您可能會注意到瀏覽器中的 URL 包含井號 (#)。例如,導航至“測試”頁面可能看起來像“app/#/test”而不是“app/test”。
為什麼要使用雜湊?
AngularJS 對非 HTML5 瀏覽器使用雜湊符號來阻止對伺服器的 HTTP 呼叫。如果沒有雜湊值,較舊的瀏覽器會向指定 href 的伺服器發送請求,這對於客戶端導航來說是不需要的。
避免 Hashbang
避免hashbang,您可以使用 $locationProvider.html5Mode(true) 方法告訴 AngularJS 使用 HTML5 歷史記錄 API(如果可用)。此 API 提供更好的 URL 處理,並允許您使用更乾淨的 URL,無需哈希。
支援的瀏覽器
大多數現代瀏覽器都支援 HTML5 歷史記錄 API。以下是支援的瀏覽器清單:
範例
要在AngularJS 應用程式中啟用HTML5 模式,只需將以下程式碼新增至您的設定:app.config(function($locationProvider) { $locationProvider.html5Mode(true); });一次當您啟用HTML5 模式時,您會注意到hashbang 已從您的URL中刪除,從而提供了更用戶友好和美觀的為您的用戶帶來愉快的體驗。
以上是如何從 AngularJS 路由中刪除煩人的 Hashbang (#)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!