【HTML】標籤href屬性不跳轉問題

最近由於項目需要,支援到了微信公衆號開發小組,在調試過程中發現,部分頁面的跳轉,在iOS的微信公衆號上無法跳轉,始終在原來的頁面上。但是在安卓的微信公衆號上卻能夠完美跳轉。按理說同是騰訊旗下的微信,同樣的URL,不應該會出現這樣的情況。

經過與度娘半個小時的交流,最後找到兩個方案,別問我爲什麼需要找這麼久,因爲這個問題我都不知道怎麼描述。

方案一:

在你的URL最後添加一個隨機的參數,這樣寫的原因,是可能瀏覽器認爲你需要跳轉的URL與當前頁面的URL是一樣,所以加上隨機參數,能夠解決(但是這個方案對我的問題不管用,但是放出來,或許能幫到一些人)


     方案二:

     捨棄href屬性,在<a>標籤中使用onclick方法:οnclick="window.location = 'URL' ",href:"###",完美解決問題。


爲什麼?

至於爲什麼這樣能夠解決問題,我至今沒有找到合理的解釋,原諒我還在半路出家的路上,之後知道了會上來更新,有知道爲什麼的前端大神,也望留言賜教。但是秉承求學的追求知其所以然精神,我還是和度娘又談了半個小時,以下是我找到的,或許有幫助:

  1.兩者執行順序不一樣,onclick先於href屬性,如果onclick函數不返回false,在onclick函數執行完之後,還是會繼續執行href函數中的URL。

2.href:"###",一個#,在你點擊的時候,鏈接會先跳到頁面的頂部,然後開始跳轉,而三個#不會跳轉到頁面頂部。href="javascript:void(0)",爲什麼不用這樣的僞協議,因爲不能平穩退化,當用戶瀏覽器對JS失效或禁用時點擊後什麼意義都沒有,而且這樣寫會影響排名,因爲大多數瀏覽器搜索不到它。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章