【原】[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标签产生的边框

 

posted @ 2013-03-08 00:03  白树  阅读(4031)  评论(5编辑  收藏  举报