h5开发中所遇到的兼容性及所遇到的常见问题
1. 移动端border1px问题
<script>
var viewport = document.querySelector("meta[name=viewport]");
//下面是根据设备像素设置viewport
if (window.devicePixelRatio == 1) {
viewport.setAttribute('content', 'width=device-width,initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no');
}
if (window.devicePixelRatio == 2) {
viewport.setAttribute('content', 'width=device-width,initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5, user-scalable=no');
}
if (window.devicePixelRatio == 3) {
viewport.setAttribute('content', 'width=device-width,initial-scale=0.3333333333333333, maximum-scale=0.3333333333333333, minimum-scale=0.3333333333333333, user-scalable=no');
}
var docEl = document.documentElement;
var fontsize = 10 * (docEl.clientWidth / 320) + 'px';
docEl.style.fontSize = fontsize;
</script>
2. 移动端滑动无效问题
| <script> | |
| function GetSlideDirection(startX, startY, endX, endY) { | |
| var dy = startY - endY; | |
| //var dx = endX - startX; | |
| var result = 0; | |
| if(dy>0) {//向上滑动 | |
| result=1; | |
| }else{//向下滑动 | |
| result=2; | |
| } | |
| return result; | |
| } | |
| //滑动处理 | |
| var startX, startY; | |
| document.addEventListener('touchstart',function (ev) { | |
| startX = ev.touches[0].pageX; | |
| startY = ev.touches[0].pageY; | |
| }, false); | |
| document.addEventListener('touchend',function (ev) { | |
| var endX, endY; | |
| endX = ev.changedTouches[0].pageX; | |
| endY = ev.changedTouches[0].pageY; | |
| var direction = GetSlideDirection(startX, startY, endX, endY); | |
| switch(direction) { | |
| case 0: | |
| break; | |
| case 1: | |
| // 向上 | |
| window.location = "3-1.html"; | |
| break; | |
| case 2: | |
| // 向下 | |
| alert("down"); | |
| break; | |
| default: | |
| } | |
|
}, false); |
|
| </script> |
3. 移动端视屏video
<video id="pc_video" style="object-fit: fill" src="../../video/pc.mp4" controls="controls" preload poster="../../img/pc/m.jpg" webkit-playsinline="true" playsinline="true" x5-video-player-fullscreen="true" x5-video-orientation="portraint">
</video>
var pcVideo = document.getElementById('pc_video')
pcVideo.onclick=function(){
pcVideo.play()
document.addEventListenerR("WeixinJSBridgeeady", function() {
pcVideo.play()
}, false)
}
4. 移动端input唤起键盘会吧body内容顶上去
5. 去掉a的默认点击效果
a:active{ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
input{ outline: none; }
6. 调用手机回车键进行搜索
- <input id="keyword" placeholder="输入关键字搜索" type="search" />
- $("#keyword").on('keypress',function(e) {
- var keycode = e.keyCode;
- var searchName = $(this).val();
- if(keycode=='13') {
- e.preventDefault();
- //请求搜索接口
- }
- });
h5开发中所遇到的兼容性及所遇到的常见问题的更多相关文章
- H5开发中的问题总结
最近公司做了一个出行日记的项目,里面的页面十多页,天天加班,做到吐血.总体来说,写页面的时候虽然是十多个页面,其实难度还是在每个页面的特效上.公司是易到用车,出行日记的页面在APP里有生成入口,有兴趣 ...
- H5开发中的故障
本篇博文会不断的收录我在做H5页面时遇到的问题以及解决方案,当然有的问题,我也没有遇到好的解决方案,所以如果你有解决的办法,请务必不吝赐教! H5开发中的故障 微信APP返回按钮不刷新页面 ...
- H5开发中遇到的问题及解决办法
记不得什么时候进行H5开发的学习了,只知道是从2016年8月1日开始修复Bug,计划每天把学到的东西以及遇到问题时候的解决方案都记录下来,希望自己能够坚持下去,每天积累一点,希望有所进步吧. 1.Th ...
- h5开发中,利用微信或者QQ登陆以后获取用户头像在canvas画布显示问题
在实际开发上先的h5页面产品中,总会遇到各种坑,好多坑都是安卓和iPhone端兼容的问题(用电脑谷歌浏览器输入 chrome://inspect/#devices可以用手机USB调试,打开) eg: ...
- H5 开发中常见的小问题
1.解决 浏览器 返回按钮不刷新的问题 window.onpageshow = function(event) { if (event.persisted) { window.location.rel ...
- 移动端H5开发中的常见问题处理
1.问题之合成海报: 功能技术:http://html2canvas.hertzen.com 问题描述:合成模糊.合成区域内容错位,合成不完整,合成边缘白条等. 解决方案:如有页面布局正常合成错位的, ...
- BAT开发中,ChromeDriver版本兼容性检查
打开解决方案的Nuget包管理器,选择合适的版本,安装即可.版本的兼容性检查,见上一篇blog(初次使用BAT,请检查Chrome浏览器和ChromeDriver兼容性 https://www.cnb ...
- 在移动端H5开发中(关于安卓端position:fixed和position:absolute;和虚拟键盘冲突的问题,以及解决方案)
一.在开发移动端webapp时,我们经常会遇到这样的问题,当我们需要在页面底部固定一个logo或者说明时,往往会采用position:fixed进行固定定位或者absolute定位到最底部 这是一个很 ...
- web开发中兼容性问题(IE8以上含)持续更新~~
在实际开发中总是遇到莫名其妙的问题~~~那么就记录下来这些问题,对这些问题进行一个总结. 1.事件对象 1)事件参数e,就是事件对象,标准的获取方式 2)e.eventPhase 事件阶段,IE8以前 ...
随机推荐
- swoole 创建UDP服务器
udp_server.php <?php // 创建Server对象,监听 127.0.0.1:9502端口,类型为SWOOLE_SOCK_UDP $serv = new swoole_serv ...
- Redis的系统级命令
文章建立一个统一的认识就是Redis的版本是3.2.8 1:BGREWRITEAOF(bgrewriteaof) 执行一个 AOF文件 重写操作.重写会创建一个当前 AOF 文件的体积优化版本. 即使 ...
- Day04——Python模块
一.模块简介 模块是实现了某个功能的代码集合,比如几个.py文件可以组成代码集合即模块.其中常见的模块有os模块(系统相关),file模块(文件操作相关) 模块主要分三类: 自定义模块 :所谓自定义模 ...
- Surrounded Regions [未完成]
思路完全一样 AC的代码: class Solution { private: struct Point { int x, y; Point(int _x, int _y):x(_x), y(_y) ...
- NSJSONSerialization能够处理的JSONData
NSJSONSerialization能够处理的JSONData You use the NSJSONSerialization class to convert JSON to Foundation ...
- 获取Excel的单元格数据类型(靠谱)
VBA中,单元格属性有NumberFormat可以获取单元格格式,比如: G/通式格式→常规 @→文本 yyyy/m/d→日期 问题: G/通式格式,无法知道值是整数还是浮点数, yyyy/m/d如果 ...
- tp框架 php5.5以上版本出现”No input file specified“错误问题解决
public文件夹下 .htaccess文件中的 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 在默认情况下会导致No input file specifie ...
- Django 玩转API
现在,让我们进入Python的交互式shell,玩转这些Django提供给你的API. 使用如下命令来调用Python shell: $ python manage.py shell 我们使用上述命令 ...
- centos7 firewall指定IP与端口访问(常用)
1.启动防火墙 systemctl start firewalld.service 2.指定IP与端口 firewall-cmd --permanent --add-rich-rule="r ...
- 11、SpringBoot-CRUD-thymeleaf公共页面元素抽取
thymeleaf公共页面元素抽取 存在一种现象:两个文件的代码只有一部分代码不一样 其余的均相同,此时就可以提取公共的代码去简化开发 .抽取公共片段 <div th:fragment=&quo ...