• audio音频


    写了一个有音频的页面 发现了几个问题:

    音频在各个浏览器里获取 duration 总时间 currentTime 时长 uc浏览器里获取不到 而手机自带的浏览器可以获取到。

    1:自动播放音乐在手机浏览器里不能自动播放,原因是 浏览器禁止了音乐在刚进页面中自动播放来浪费用户的流量,自动播放还和浏览器的版本有关系 qq浏览器是可以自动播放的,

    Window.onload = function(){

    audio.play();//音乐播放也不行

    }

    canplay事件也不行,代码模拟点击事件也不行

    有一种办法能自动播放用ajax请求 拿到音频 存到缓存中 可以解决浏览器自动播放,但是缓存播放 点击播放不冲突,缓存在播放 点击播放也在播放,还有播放音乐时间在走也是问题,

    放到缓存里代码如下:

    window.addEventListener('load', function () {

    var audioCtx = new (window.AudioContext || window.webkitAudioContext)();

    var source = audioCtx.createBufferSource();

    var xhr = new XMLHttpRequest();

    xhr.open('GET', 'audio-autoplay.wav');

    xhr.responseType = 'arraybuffer';

    xhr.addEventListener('load', function (r) {

    console.log(xhr.response);

    audioCtx.decodeAudioData(

    xhr.response, 

    function (buffer) {

    source.buffer = buffer;

    source.connect(audioCtx.destination);

    source.loop = false;

    });

    playsound();

    });

    xhr.send();

    var playsound = function () {

    source.start(0);

    };

    });

    参考地址如下:https://xenos.reinom.com/audio-autoplay.html

    2: 音频在页面中获取时长 和总长时 uc浏览器获取不到总时间为0,手机自带浏览器获取总时间会很慢  不管用setInterval 还是定时器 setTImeout 都一样,除非用事件点击事件后获取是可以的,

    3: uc mini浏览器不能全屏 原因在:浏览器头部的导航条占据了页面一部分,所以真正页面会少一部分所以页面会撑长 不会全屏,自己试过一个div在页面顶部 一个div在页面底部 。庆幸的是国内 uc mini浏览器不开发

    4:facebook分享如果用网页分享meta标签开发图谱写分享 不能自定义用js设置url images title descripti 因为facebook的网络爬虫是在服务端返回浏览器最初的html里爬虫 

    页面访问流程:

    浏览器出入网址 —>三次握手与服务端通信 (查询ip解析主机站点资源封装成http返回给浏览器) 四个握手 浏览器分析responesehtml(这个html是最初的没有css js 修饰)(网络爬虫也是在这个阶段读取页面元素)—>浏览器接受到responese拿到html 接下来会解析css js 最终渲染页面 展示出来

    一个图片解释了页面访问流程链接如下:

    file:///Users/demo/Desktop/Jon%20Han/网页请求流程图片/20151010124247204

     

    做元旦活动页面遇到的坑:

    1:音频不能在浏览器里自动播放

    2:uc mini浏览器不能全屏

    3:facebook用网页分享meta标签开发图谱 网络爬虫不能用js设置url images

     

    Trident 是 ie

    Gecko 是 firefox netscape6-9

    Webkit 是 safai chrome

    Presto 是 opera

    手机自带浏览器内核 webkit (chrome)

    Qq9.0浏览器用的是IE Webkit chrome 兼容性好

    uc浏览器内核是:webkit(chrome)

    浏览器内核检测链接:https://ie.icoa.cn

     

    1: 引入字体:如果设计师给的字体没有再如果字体在手机上不是通用,在手机有这个字体包样式就是好的,但如果没有那就是不好,引入字体包是解决办法:
    iconfont里有字体包,链接如下:

    http://iconfont.cn/webfont/?spm=a313x.7781069.1998910419.d81ec59f2#!/webfont/index

    有字库里有字体包,链接如下:
    https://www.youziku.com

     

    2: 判读各个国家的语言,在各个国家展示不一样的样式:解决办法是:

    用系统语言判断:navigator.language;

    代码如下:

    function getLanguage(){

    let language = navigator.language;

    if( language.indexOf(‘en’) > -1){

     

    }

    }

    各国系统语言可以在i80N查

    链接如下:http://domokun.cc/article/2017-03/9.html

    如果国家有特殊化也可以用时区去判断但没有系统语言判断好

     

    css写js,js变量css可以获取

    以前的 expression但是现在已经废弃

    2017年的css也可以定义变量和sass less的语法也快相近了

     

    4:  javascript于css通信

            设置变量

    Document.body.style.setProperty(‘—primary’,’—#f00’);

    读取变量

    document.body.style.getPropertyValue(‘—primary’).trim();

    删除变量

    Document.body.style.removeProperty(‘—primary’)

    var() 函数读取变量;

    参考地址:http://www.ruanyifeng.com/blog/2017/05/css-variables.html

     

    5: 反省,以后做项目我会主要问几个问题:

    (1):项目在那个app里展示兼容app是否还有浏览器?

    (2):用运营页面还是backbone页面?

    (3):页面逻辑 调用接口 和 谁连调 接口调用 

    (4):页面埋点  

  • 相关阅读:
    Tip#66:你知道吗?如何在输入属性值时自动插入双引号
    使用 Apache MINA 开发高性能网络应用程序(转载)
    Faceted Search with Solr
    solr dataimport 数据导入源码分析 补充
    Apache Tika
    MiddlegenHibernate的配制和使用(jtds连接sqlserver数据库)
    汉语转拼音之pinyin4j(转载)
    使用Tika进行非结构化内容的读写1
    使用Java NIO编写高性能的服务器
    solr dataimport 数据导入源码分析(十)总结
  • 原文地址:https://www.cnblogs.com/hjpqwer/p/8371666.html
Copyright © 2020-2023  润新知