安卓与ios的不同处理

一、click事件

安卓:任意场景下,基本任意click写法都可以,

ios:在目标元素是后期渲染进去的情况下,目标元素.click(function(){   })   这种写法失效

换个写法(事件冒泡、事件委托的运用): 

目标元素的父元素[非后期渲染的].on("click","目标元素",function(){ 

  //$(this) 为目标元素,可直接运用

 }) 

二、iframe加载

1、iframe加载不同域名的链接

  安卓:可以。

  ios:  显示空白,是因为ios的安全机制的限制。

2、iframe设置宽高为0,border:0

  安卓:内容不展示了。

      ios:iframe位置会显示一个小白点。

三、手机摇晃事件

安卓:基本都可,

ios:自13版本以上获取摇晃事件需弹框提示用户授权才可,以下的版本和安卓相同。

四、audio播放

安卓:设置audio的自动播放有效,

ios:设置audio的自动播放无效,因为系统限制,音频播放是必须和浏览器发生事件互动才可触发,谷歌浏览器同理。

解决方法:写触摸事件,监听设备,eg:设置个html首次点击便播放音频,代码如下:

$("html").one('touchstart',function(){
    audio.play();
})

function vary(){ //播放和暂停
  var audio = document.getElementById('audio');
  if (audio !== null) {
    if (audio.paused) {
      audio.play(); 
   } else {
      audio.pause();
   }
}
原文地址:https://www.cnblogs.com/redFeather/p/14991433.html