使用微信内置浏览器点击下拉框出现页面乱跳转
当你在微信内置浏览器上,尤其是iPhone设备上,遇到点击下拉框页面乱跳转的问题时,这篇文章或许能为你提供解决方案。这是一个富有挑战性的bug,测试部的同事可能已经向你提及过。在iPhone设备上,一个简单的select操作会引发页面跳转的问题,而这个问题在安卓设备上并未出现。我们的开发团队曾在长沙进行过网络推广,但在遇到这个bug时也无能为力,至今尚未找到问题的根源。
不必沮丧,我们找到了一个临时的解决方案。问题的出现可能是由于HTML5页面未能及时响应导致的。我们的思路是利用div来模拟select的功能。具体来说,我们在页面中设置两个html结构:一个是隐藏的select代码,另一个是用来模拟的div。当用户点击div时,模拟的select下拉框会出现,并且读取的option值会赋予这个div。这种模拟的核心代码可以通过下载VisualSelect.js实现。
以下是相关的html、css和js代码示例:
html代码示例:
css代码示例:
.round { border-radius: 4px;}
.visualSelect {
width: 100%;
padding: .45rem .5rem .25rem .75rem;
margin-bottom: .875rem;
border: 1px solid ddd;
border-radius: 4px;
color: bbb;
}
js代码示例:针对该问题只存在于部分iPhone的情况,我们在调用插件前需要进行机型判断。具体代码如下:
首先获取用户代理信息,然后判断是否为iPhone。如果是iPhone,则调用VisualSelect插件。这样即可解决下拉框点击导致的页面跳转问题。另外提醒一下,bootstrap滚动监听在微信内置的iPhone浏览器上有时有效有时无效的问题,可能是由于HTML5页面响应不及时导致的,建议使用jQuery mobile来解决。对于bootstrap的附加导航监听问题,同样建议使用jQuery mobile进行开发以提高响应的稳定性。希望这篇文章能为你提供有价值的参考。
编程语言
- 使用微信内置浏览器点击下拉框出现页面乱跳转
- 详解Angular6.0使用路由步骤(共7步)
- 在linux命令下导出导入.sql文件的方法
- php如何比较两个浮点数是否相等详解
- CentOS 6.3下安装PHP xcache扩展模块笔记
- select获取下拉框的值 下拉框默认选中方法
- PHP获取服务器端信息的方法
- Vue filter介绍及详细使用
- 自动检测数字替换非数字的正则表达式
- php实现构建排除当前元素的乘积数组方法
- javascript基础进阶_深入剖析执行环境及作用域链
- jQuery简单实现遍历单选框的方法
- 一张表搞清楚php is_null、empty、isset的区别
- layui button 按钮弹出提示窗口,确定才进行的方法
- Vue中computed与methods的区别详解
- JavaScript笔记之数据属性和存储器属性