我現在已經在幾個應用程序中遇到了這個問題,所以我不知道我是否在Backbone歷史記錄中出現了問題。這裏的情況...Backbone.history.start()阻止返回按鈕離開頁面
我有兩頁,讓我們說:
index.html
app.html
索引頁只是一個鏈接到app.html
正常的,扁平的HTML頁面。在應用程序頁面,Backbone.history.start()
被稱爲火起來的散列狀態管理,這是用來應用頁面上的兩個視圖之間切換,說:
app.html#search
app.html#results
因此,導航來回#search
和#results
頁作品之間大。那裏沒有問題。當您嘗試使用後退按鈕一直回到index.html
時,會發生此問題。返回到索引頁面的路徑包括在app.html
(無散列狀態)的停止位置,在該位置Backbone路由器忠實地填充缺失的散列狀態,將您重新放回app.html#search
。同樣,單擊後退按鈕將轉到app.html
,再次填充缺失的散列狀態......基本上,您現在陷入循環,無法從頁面返回。使用推送狀態時會發生相同的行爲。
這似乎是一個應用程序潛在的常見問題,它會自動啓動默認頁面URL之上的自己的路由系統。有誰知道避免這種情況的好方法嗎?
感謝,沒想到可以把它像。非常有意義的是,基本URL需要成爲起點。不幸的是,我們的UX規範通常是圍繞有條件的入口點邏輯定製的,這基本上是導致此問題的原因。我將準備在未來將這個問題扼殺在萌芽狀態。 – bigmac 2013-03-06 15:46:29