2012-12-19 169 views
0

我使用的是HTML5 jQuery捆綁的History.js插件。它的工作很好,但我需要使用像鏈接的能力(無需History.js正常工作)History.js重寫location.hash值

http://website/url#popup=/url/some/more/params/ 

一時間,如果我將嘗試使用它在我的散列頁將沒有哈希重新加載 - 我我剛剛在環境中用History.js插件測試了這個(確保這是一個History.js問題)。

http://website/popup=/url/some/more/params/ 

但是,如果我會嘗試哈希沒有「/」符號,一切都會好的,的location.hash將保持不變,沒有重新加載頁面將進行:

http://website/#popup=url 

問題是,我會喜歡在#popup參數中使用原生網址。 這種方式很容易處理和顯示,用戶可以清楚地看到鏈接,每個人都可以在彈出窗口打開後共享鏈接。

是否可以禁用這樣的location.hash更改和重定向?我真的不認爲使用具有特殊分隔符的鏈接是個好主意:

http://website/#popup=url:param:values 

P.S.我試着申請encodeURIComponent方法()將它的location.hash之前彈出網址,以下URL還刪除哈希,使重定向:

http://website/#popup%3D%2Ftest%2Furl 

回答

1

您的網址無效,正斜槓應該是%2F如果在散列之後。

此外,進入地址欄

http://stackoverflow.com/questions/13953766/history-js-rewrites-location-hash-value#popup=eerste/tweede/derde

會的location.hash創建#popup=eerste/tweede/derde,這是正確的。

在我看來,你應該用文件History.js

+0

的作者一個bug報告只是試圖用連結http://網站/ URL#彈出=%2Furl%2Fsome%2Fmore%2Fparams%在Chrome 2F 。同樣的結果。 – avasin