2010-09-12 86 views
6

我的應用程序是一個iframe應用程序,所以當用戶更改頁面時,他們不會自動進入頂部。爲了解決這個問題在頁面加載我打電話javascript檢測#在url中

window.location.hash = 'tophash' 

我已經但是發現了一些罕見的情況下,我需要用戶對頁面的特定部分。所以我最後用#anotherID做了一個url。問題是目前他們被採取tophash在頁面加載。

我需要的是如果在URL中的哈希不運行window.location.hash = 'tophash'

所以我的問題是...我怎麼detech一個#在URL中的存在?

回答

3

在設置它之前查詢hash屬性應該完成這項工作。

if ((!window.location.hash) || (window.location.hash == "#")) 
window.location.hash = "tophash"; 
+1

當它爲空時,它不是'== null',至少不是在Chrome(http://jsbin.com/ecela4)上。它*應該*是一個空字符串(並且在Chrome上:http://jsbin.com/ecela4/2),但我可能會防守地編碼並且使用'==「」'去。 – 2010-09-12 15:03:09

+0

hmmm == null無效==''不過 – Starlin 2010-09-12 15:04:37

+0

@ T.J。好點子!更改爲「長度」檢查,並添加了一個單獨的'#'檢查,以確保 - Chrome帶走了單獨的'#'es,但我不相信每個人都會這樣做 – 2010-09-12 15:05:12