2012-07-11 74 views
0

所以我有這個js代碼的圖片庫:更新窗口哈希(在URL)

(this.settings.update_window_hash) { 
     var thumb_link = this.images[this.current_index].thumb_link; 
     if (thumb_link.attr("id")) { 
      window.location.hash = "#image-"+ thumb_link.attr("id"); //#url 
     } else { 
      window.location.hash = "#image-"+ this.current_index; 
     }; 
}; 

所以你可能已經假定這個追加$圖像 - (INT)的URL。所以,如果我有一個 畫廊多個圖像如果錫爾圖像被選擇的URL看起來像這樣: mysite.com/gallery.html#image-3

都很好。但我真的不喜歡這個被追加到URL的末尾。那麼如果我完全刪除腳本的這部分內容,是否有任何問題 ?因此,無論目前選擇的 圖片的數量如何,網址將如下所示: mysite.com/gallery.html

我測試過它,它的工作原理沒問題。但我對JavaScript並不是很有經驗,我想要 以確保我沒有犯錯。所以 是的,如果我完全刪除這個腳本?它會導致任何問題嗎?

巨大的感謝。

+1

只要你不從你的代碼中的URL讀取散列,你應該很好。 – 2012-07-11 19:40:10

回答

1

URL末尾的哈希值是可選的,不是必需的,因此您可以刪除該腳本(如果您需要)(我不確定您想要解決什麼問題通過刪除它)。一般來說,如果您告訴我們您想要解決什麼問題,而不是您嘗試使用的解決方案,那麼您會得到更有用的答案。

當您希望頁面的URL將瀏覽器定向到該頁面上的某個子內容時,會使用散列。如果您將其移除,那麼您的網頁仍然可以正常工作,但該網頁的網址不會反映顯示哪個圖片。因此,如果查看者保存該URL並返回到該URL或鏈接到該URL或任何可以引用該URL的內容,它將轉到該頁面的通用版本,而不是顯示特定圖像的onet。是否確定完全取決於您以及您的網頁的工作方式。

+0

你好。那麼迴應我的問題。我真的不希望他們在網址中,因爲他們在我的情況下是無用的。 js是圖庫/圖像滑塊的一部分,url只顯示當前選擇的圖像,所以我沒有在網頁或其他地方使用它(它可以幫助導航到頁面的所需部分)。感謝您的支持回答。 – inrob 2012-07-11 20:41:54

0

只需使用:

location.replace(location.href + "#myhash"); 

的location.replace方法將覆蓋在瀏覽器歷史記錄當前步驟。有關此操作的示例,請參閱http://prettydiff.com/slideshow/

+0

是的,我知道這一點。但正如我所說,因爲我是js的新手,只是想確保我沒有做錯任何事情。 – inrob 2012-07-11 20:43:54

0

octothorpe之後的東西通常表示網頁中的「名稱」或「id」。您可以使用錨標籤(<a name='thevalue'>),瀏覽器將通過滾動到頁面上的關聯部分來解釋八腳形(http://example.com#thevalue)之後的文本。

除非頁面有特殊的JavaScript行爲不同。在你的情況下,它取決於你正在編寫的網頁的全部功能。如果您有煙霧測試/單元測試/用例測試/其他QE測試,則應執行這些測試以確保您的更改不會破壞任何內容。

有關標準用法的更多說明,請參閱http://www.w3schools.com/html/html_links.asp

+0

感謝您的回答。 – inrob 2012-07-11 20:42:48