基于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标签产生的边框
作者:白树