首頁 > web前端 > js教程 > 如何從 AngularJS 路由中刪除煩人的 Hashbang (#)?

如何從 AngularJS 路由中刪除煩人的 Hashbang (#)?

Susan Sarandon
發布: 2024-12-01 20:11:12
原創
363 人瀏覽過

How Can I Remove the Annoying Hashbang (#) from AngularJS Routing?

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。以下是支援的瀏覽器清單:

  • Google Chrome
  • Mozilla Firefox
  • Safari
  • Microsoft Edge
  • Inter🎜>Internet Explorer 10

範例

要在AngularJS 應用程式中啟用HTML5 模式,只需將以下程式碼新增至您的設定:

app.config(function($locationProvider) {
  $locationProvider.html5Mode(true);
});
登入後複製
一次當您啟用HTML5 模式時,您會注意到hashbang 已從您的URL中刪除,從而提供了更用戶友好和美觀的為您的用戶帶來愉快的體驗。

以上是如何從 AngularJS 路由中刪除煩人的 Hashbang (#)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板