我有一個Web應用程序,它廣泛使用片段標識符來處理「狀態」。URL片段標識符 - 簡化狀態處理(javascript)
examplesite.com/#$mode=direct$aa;map=t;time=2003;vid=4;vid=7
了一些問題:
1)什麼是分配的各種「的location.hash名稱值對」變量來跟蹤狀態的好辦法?
1A)我應該作出這樣的跟蹤狀態的JS或聲明全局變量對每個名稱值對的對象?
1b)中是否有良好的jQuery插件以簡化這個?
1C)如果我想跟蹤的一些所謂的「顏色」 - 在任何時候都應該把它附加到片段(#),什麼是如果它被定義檢查的正確方法;下面的代碼可以改進嗎?
var color;
var hashString = location.hash;
var nvPairs = hashString.split(";");
var nvPair = new Array();
for (i = 0; i < nvPairs.length; i++)
{
var keyValuePair = nvPairs[i].split("=");
nvPair[keyValuePair[0]] = keyValuePair[1];
}
if (nvPair['color']) color = nvPair['color'];
1D)由於一些名稱中的示例使用了兩次(「VID」以上) - 我怎麼能輕鬆地存儲它們是獨立的變量?
2)有4個不同的 「哈希」 我要加倍注意:
examplesite.com/ (無散)
examplesite.com/#example=5 (包含「示例」)
examplesite.com/#time=2003;vid=4;vid=7;modified=5 (含有 「改性」)
examplesite.com/#time=2003;vid=4; vid = 7 (不包含「修改」或「示例」)
如何編寫一個控制結構,在應用程序加載並檢查上述條件時從哈希中提取變量?
3)如何能在以前的狀態/ s的存儲和按下後退按鈕時,如何觸發狀態的改變?
好主意,謝謝你的輸入 - 真的很有幫助。 – dani 2010-01-31 12:18:24