2014-02-24 56 views
1

我是新來的主幹。我想使用主幹在瀏覽器中更改網址。問題是骨幹僅在#之後替換最後的參數。更改主幹中的網址

http://localhost:3000/home#projects 

後運行以下行

Backbone.history.navigate("welcome-user", { trigger: true, replace: true }) 

輸出是

http://localhost:3000/home#welcome-user 

我想

http://localhost:3000/#welcome-user 

我知道有一些很簡單的我缺少什麼?

回答

1

骨幹只有它是從運行位置後管理URL片段。換句話說,如果你想擁有的http://localhost:3000/#welcome-user網址,您的骨幹應用已經從index.html運行,而不是從home.html

1

你可以得到(幾乎)這個當你開始,如果你能pushState的Backbone.history

Backbone.history.start({pushState: true})

基本上,而不是替換散列,它會取代整個網址。所以,如果你是在

http://localhost:3000/home

Backbone.history.navigate("welcome-user", { trigger: true, replace: true })

你會在

http://localhost:3000/welcome-user

結束(從技術上講,你問http://localhost:3000/#welcome-user,與哈希 - 但我相信pushState一般是你正在尋找的)

記住pushState的支持是好的,但not universal

0

如果上述方案不符合你想要什麼,你總是可以做:

Backbone.history.navigate("welcome-user", { trigger: false }) 

這將更新您的網址沒有做還要別的嗎。