zoukankan      html  css  js  c++  java
  • 移动端bug、兼容性

    1.-webkit-tap-highlight-color

    -webkit-tap-highlight-color 是一个 不规范的属性,它没有出现在 CSS 规范草案中。
    
    当用户点击iOS的Safari浏览器中的链接或JavaScript的可点击的元素时,覆盖显示的高亮颜色。
    
    该属性可以只设置透明度。如果未设置透明度,iOS Safari使用默认的透明度。当透明度设为0,则会禁用此属性;当透明度设为1,元素在点击时不可见。

    以上是网上找到比较具体的表述,那这个属性是解决什么问题的呢?

    之前有做一个移动端页面,一些按钮在ios设备上点击时,会出现透明黑色框框,很困扰,不知道那是啥,遂搜索之得到了解决的方法。

    .btn{
      -webkit-tap-highlight-color: rgba(255, 255, 255, 0);    
    }

    如描述所说的,把透明度设置为0时,会禁用该属性,也就是不会再出现透明黑色框框了。

    2.-webkit-user-select

    这个属性的作用是决定用户是否可以有选择复制元素或文本等权力。

    也是一个移动端页面,需要所有文字元素都不能被选择复制,可以用到这个属性

    body{
      -webkit-user-select: none;
    }

    ie是否有效未测,等有空了测一下吧。

    3.微信端自动播放audio

    一般来说html5页面要自动播放音频文件只需要设置标签属性autoplay就行了,像这样

    <audio src="song.mp3" autoplay="autoplay" id="audio"></audio>

    但是实际开发中发现,会有很多手机,它在微信端中不能自动播放,安卓ios都有,具体什么原因不太清楚,同为ios9的iphone,有一只9.3能放有一只9.1就不能放了,也是很尴尬

    而这样的情况在安卓机中更为普遍。

    网上也是寻觅了很久,发现需要调用微信的sdk,在wx.ready中调用play()的方法,才能保证自动播放。

    function autoPlayAudio1() {
      wx.config({
          // 配置信息, 即使不正确也能使用 wx.ready
          debug: false,
          appId: '',
          timestamp: 1,
          nonceStr: '',
          signature: '',
          jsApiList: []
       });
       wx.ready(function() {
          document.getElementById('audio').play();
       });  
    }    

    说实话这也是挺邪门的,但实测可行。

  • 相关阅读:
    使用django开发一个web项目初试
    关于github一些比较重要的命令
    删除github repository的方法
    Node、npm与Vue配置与问题记录
    [记忆]5月第二周
    git am patch冲突解决步骤
    git丢弃本地修改的几种方式
    Log4j 2.X 漏洞解决
    Maven依赖范围Scope及传递性依赖
    Mysql创建事件定时任务
  • 原文地址:https://www.cnblogs.com/luoluo8/p/5659376.html
Copyright © 2011-2022 走看看