【原】[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 @   白树  阅读(4035)  评论(5编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
历史上的今天:
2012-03-08 HTML标签语义化对照表
点击右上角即可分享
微信分享提示