2013-07-29 128 views
0

,當我在Chrome鉻刪除URL路徑的角度

打開網站
_localhost/angular/_ 

網址更改

_localhost/#_ 

但在Firefox是否如預期的一切我得到這個問題的角度

我推測它由routeProvider造成

var Angapp = angular.module('angApp', []). 
config(['$routeProvider', function ($routeProvider) { 
    $routeProvider.when('/', { 
     templateUrl: 'partials/main.html', 
     controller: mainCtrl 
    }) 
     .when('/:catId', { 
     templateUrl: 'partials/category.html', 
     controller: categoryCtrl 
    }) 
     .when('/detail/:detId', { 
     templateUrl: 'partials/detail.html', 
     controller: detailsCtrl 
    }) 
     .otherwise({ 
     redirectTo: '/' 
    }); 

}]); 

我希望有人能幫助我解釋發生了什麼,我錯過了什麼。

在此先感謝。

編輯:

,當我在Chrome和Firefox

_localhost/angular/#%2Flink_ 

添加

..... 
config(['$routeProvider','$locationProvider', function($routeProvider. $locationProvider){ 
....... 
$locationProvider.html5Mode(true); 

路由中斷完全當我刪除「#%2F」和重裝頁面我得到一個404作爲返回 當我點擊backspace然後該網站加載cor rectly!

回答

0

請確定您的瀏覽器支持HTML5。對於不支持HTML5歷史記錄API的瀏覽器,AngularJS將自動回退到hasbang的URL,因此無法登錄"remove",hash(#)

+0

以及它的鉻v28所以它應該支持的權利? 我改變: .... $ routeProvider.when( '/',{......到 .... $ routeProvider.when( '/',{......和現在的作品 可以嗎?有人告訴我爲什麼? – Frank

+0

因此,您的代碼$ locationProvider.html5Mode(true)現在可以爲您工作,請指出您所做的更改使其更清晰。 – BKM