我們正在將視頻添加到網站的主頁,並且希望能夠在每次使用#video標記時自動彈出視頻(在Lightbox風格的容器中)是存在於URL:Javascript - 檢查哈希,忽略分析代碼
http://www.domain.com#video
視頻需要彈出如果鏈接點擊內部網站上(即:<a href="#video">
)並且如果散列出現在頁面加載的URL。
簡單到足以使用window.location.hash
檢查URL中的散列值,或者點擊帶有散列的鏈接並觸發相關的javascript函數。這是按預期工作,沒有任何問題。
然而,因爲這URL將在電子郵件中與谷歌分析代碼自動添加,分析代碼被附加在URL的結尾被髮送出去:
http://www.domain.com#video?utm_source=...
由於分析代碼將與每個改變電子郵件活動,我無法做一個簡單的Javascript replace()
忽略分析代碼。
我該如何去檢查哈希是否存在於URL中,但忽略之後的任何內容?如果存在?
這是,但分析代碼是由電子郵件軟件自動添加到所有URL,所以它不是真正在我的控制之下。 – adnrw
我相當懷疑如果添加錯誤,它會起作用。我認爲你需要從源頭上解決它。 – jfriend00
@adnrw - 我在我的答案中添加了代碼,它不依賴於解析合法和非法URL來獲取散列值的window.location.hash對象的行爲。 – jfriend00