【原】[webkit移動開發筆記]之空鏈接是使用javascript:void(0)還是使用#none


基於webkit內核的移動開發筆記,之前已經寫過4篇,主要是關於移動開發重構的分享,今晚有空了再寫一篇。

回憶去年年底最后的一個項目,還有一個很怪異的bug,讓項目團隊的成員感到十分頭疼。測試組的同事做完最后的測試回歸后,項目發布上線,並通過微信推送鏈接。在ios系統中(android顯示正常),微信內頁打開鏈接后,點擊頁面的一個按鈕,頁面被重新加載了,這時才可以對頁面進行其它操作。

再次不斷試后,我們這邊的同事肯定是微信軟件內部配置引起的,可是微信的同事也無法定位具體的問題......糾結了很久....

后來啊,想到各種蛋碎,才知道是a標簽的引起的

<a href="#none" class="btn" id="btn"></a>

href=“#none” 這是本來是使用空鏈接,並使用JS控制ID來給按鈕添加功能,但是在微信中會導致第一次點擊按鈕時頁面出現重新加載現象......

解決辦法如下:

<a href=”javascript:void(0);” class="btn" id="btn"></a>

javascript:void(0) 鏈接無返回值

在從新浪微博,淘寶首頁可以看到,當a標簽href為空鏈接,寫法為javascript:void(0),也不是說使用href="#none"就是錯誤的,在pc端上使用也是沒有問題的,也許href="javascript:void(0);"是專業化的一種表現,更值得我們去寫,畢竟它解決微信中存在的一個bug...

這次的經歷也告訴自己,不可隨意設置空鏈接的a標簽為:<a href="#none">按鈕</a>,它可能會在你不知情的情況下出現bug,同時發現了自己與他人的差距,還有很多進步的空間,更多是細節上的問題。

 

webkit開發系列:

(1)【原】[基於webkit內核的移動開發筆記]之使用chrome進行手機開發

(2)【原】[基於webkit內核的移動開發筆記]之無法自動播放的audio元素

(3)【原】[基於webkit內核的移動開發筆記]之CSS3徑向漸變

(4)【原】[基於webkit內核的移動開發筆記]之如何去除android上a標簽產生的邊框

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM