移动端浏览器问题

Posted Nothing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端浏览器问题相关的知识,希望对你有一定的参考价值。

1、防止手机中网页放大和缩小

<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />

2、启动或禁用自动识别页面中的电话号码

<meta name="format-detection" content="telephone=no">

3、html5调用安卓或者ios的拨号功能

<a href="tel:4008106999,1034">400-810-6999 转 1034</a>

4、上下拉动滚动条时卡顿、慢

body {
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}

5、禁止复制、选中文本

Element {
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
   user-select: none;
}

6、长时间按住页面出现闪退

element {
  -webkit-touch-callout: none;
}

7、iphone及ipad下输入框默认内阴影

Element{
  -webkit-appearance: none; 
}

8、ios和android下触摸元素时出现半透明灰色遮罩

Element {
  -webkit-tap-highlight-color:rgba(255,255,255,0)
}

9、active兼容处理 即 伪类 :active 失效

方法一:body添加ontouchstart
<body ontouchstart="">
方法二:js给 document 绑定 touchstart 或 touchend 事件
<style>
a {
 color: #000;
}
a:active {
 color: #fff;
}
</style>
<a herf=foo >bar</a>
<script>
 document.addEventListener(‘touchstart‘,function(){},false);
</script>

10、旋转屏幕时,字体大小调整的问题

html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {
  -webkit-text-size-adjust:100%;
}

11、某些Android手机圆角失效

background-clip: padding-box;

12、顶部状态栏背景色

<meta name="apple-mobile-web-app-status-bar-style" content="black" />

13、取消缓存

<meta http-equiv="Cache-Control" content="no-cache" />

14、启动画面

<link rel="apple-touch-startup-image" href="start.png"/>
不同尺寸
<!--iPhone-->
<link href="apple-touch-startup-image-320x460.png" media="(device-width: 320px)" rel="apple-touch-startup-image" />
<!-- iPhone Retina -->
<link href="apple-touch-startup-image-640x920.png" media="(device-width: 320px) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
<!-- iPhone 5 -->
<link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)" href="apple-touch-startup-image-640x1096.png">
<!-- iPad portrait -->
<link href="apple-touch-startup-image-768x1004.png" media="(device-width: 768px) and (orientation: portrait)" rel="apple-touch-startup-image" />
<!-- iPad landscape -->
<link href="apple-touch-startup-image-748x1024.png" media="(device-width: 768px) and (orientation: landscape)" rel="apple-touch-startup-image" />
<!-- iPad Retina portrait -->
<link href="apple-touch-startup-image-1536x2008.png" media="(device-width: 1536px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2)" rel="apple-touch-startup-image" />
<!-- iPad Retina landscape -->
<link href="apple-touch-startup-image-1496x2048.png"media="(device-width: 1536px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2)"rel="apple-touch-startup-image" />

15、特殊浏览器私有

QQ浏览器私有
全屏模式
<meta name="x5-fullscreen" content="true">
强制竖屏
<meta name="x5-orientation" content="portrait">
强制横屏
<meta name="x5-orientation" content="landscape">
应用模式
<meta name="x5-page-mode" content="app">

UC浏览器私有
全屏模式
<meta name="full-screen" content="yes">
强制竖屏
<meta name="screen-orientation" content="portrait">
强制横屏
<meta name="screen-orientation" content="landscape">
应用模式
<meta name="browsermode" content="application">
其它 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 <meta name="HandheldFriendly" content="true"> 微软的老式浏览器 <meta name="MobileOptimized" content="320"> windows phone 点击无高光 <meta name="msapplication-tap-highlight" content="no">

16、 IOS中input键盘事件keyup、keydown、keypress支持不是很好

可以用html5的oninput事件去代替keyup

<input type="text" id="testInput">
<script type="text/javascript">
  document.getElementById(‘testInput‘).addEventListener(‘input‘, function(e){
    var value = e.target.value;
  });
</script>

17、IOS键盘字母输入,默认首字母大写

<input type="text" autocapitalize="off" />

18、移动端点击300ms延迟

fastclick、tap.js、zepto、touchstart

19、移动端 HTML5 audio autoplay 失效问题

document.addEventListener(‘touchstart‘, function () {
  document.getElementsByTagName(‘audio‘)[0].play();
  document.getElementsByTagName(‘audio‘)[0].pause();
});

20、去除input默认样式

input[type=number] {
  -moz-appearance:textfield;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

  

以上是关于移动端浏览器问题的主要内容,如果未能解决你的问题,请参考以下文章

解决移动端报错:Unable to preventDefault inside passive event listener due to target being treated as……(代码片段

少部分手机浏览器对于COOKIE支持不够导致服务端无法读取session的解决方案

html5移动端阻止滚动问题。

移动开发问题。一段文件上传代码用浏览器可以在手机执行,但cordova打包后无法在手机端执行

js判断到移动端PC端

----移动端移动端调试神器vConsole----