基於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標簽產生的邊框