常用H5套路技巧

闲着无聊瞎写混分。

写在前面的话:

        大家选择这个引擎的时候,相信各位都是编程大牛,所以技术活这种东西我就不敢废话了!


写这个东西主要是关于一些H5常用套路技巧分享,交流为主,不喜勿喷。

------------------------------------------------------------

H5常用套路1:

    视频当动画特效用。很多客户喜欢视频里面的炫酷效果,然后第三方物料提供方也是懵逼的做成了视频丢过来,开发者拿到手后一脸懵逼。

    于是流行一种做法就是在视频上加一个透明按钮和交互提示,

    用户误认为是自己在和视频做交互,其实就是暂停和播放,套路系数五星!

    一般出现视频的时候,会有以下几种情况:

        1)视频在移动端微信不能自动播放;

        2)视频在移动端微信播放会出现进度条,并且默认弹到最高层;

        3)播放结束会出现广告;

        4)添加腾讯内核属性后,安卓会弹同层播放器;

    解决技巧(针对安卓):

        1)jsmpeg视频流了解一下(缺点,不能太长视频,加载慢,画质有损),可以让安卓出现和iOS一样的效果;

        2)拉伸视频尺寸,缩放到120%后再给一个100%的宽高样式(把进度条挤出去,但是全面屏手机emmm……),之后监控视频时间,在结束前一秒移除视频;

        3)序列帧(缺点是包太大,加载慢,流量堪忧,声音同步问题和手机性能有关,短视频可以用建议12fps);

        4)说服客户弹同层问题(最靠谱了);

        5)强大的Annie2X在flash里面直接做成动画导出来(动画师别任性,这个不是动画片,渣机会卡的)

H5常用套路2:

    好友之间分享助力,提现个人RP的时候到了。

    好友助力会显示微信用户头像,昵称,还能限制好友之间的助力次数来增加趣味性,套路系数四星。

    不过鹅老大即将取消分享回调方法,该套路慎用!

    策划方案:

        公众号授权域名后,获取当前用户信息:包含微信名、头像、openid;

        分享的时候,把openid接在域名后面分享出去,好友进来,判断openid来助力;

    会遇到的问题:

        1)授权失败;

        2)页面无限刷新;

        3)头像跨域;

        4)无法成功回调;

        5)最新版iOS微信出现一个白色导航栏;

    解决方法:

        1)检查微信授权的时候,回调url接上的code,此参数有鹅老大给的,每次只能用一次,出现信息为空,强制再跳一次授权;

        2)分享的时候,code要过滤,否则会出现旧的code,导致授权不成功无限跳授权链接;

        3)canvas渲染图片是肯定会跨域的,所以拿到用户信息,请自行存到后台;

        4)如果鹅老大取消回调方法,那么只能自己后台生成一个分享码,下一个人从带分享码的链接进入时,把分享码提交会后台验证已经分享;

        5)授权的H5出现导航栏,目前网上有一些方案,但是基本没用;

H5常用套路3:

    生成海报,长按分享。用户有一种自己会PS的错觉,以为这个图片真是自己牛逼的技术搞出来的。

    装逼系数满满,套路系数五星。

    会遇到的问题:

        1)图片是动态编辑的;

        2)canvas绘图板会跨域;

        3)要带一个二维码;

        4)二维码无法识别;

    解决方法:

        1)Annie2X本来就很容易做到这种动态拼接图片的玩法;

        2)开源编辑框架:例如:pixi.js等;

        3)canvas绘图跨域后,讲cdn反向映射到服务器域名,解决跨域;

        4)二维码生成插件Qrcode.js,或者jQuery.qrcode.js;

        5)二维码不能识别有几个情况引起:二维码太小、清晰度不够、内容太复杂;

        6)首先降低二维码生成时候的容错率;

        7)尽可能让url短一些,如果实在需要那么长,推荐一个接口缩短网址:

                var url2 = "https://api.weibo.com/2/short_url/shorten.json";//新浪提供的接口

        var cmd2 = url2 + "?source=" + app_key(百度查询有免费的) + "&url_long=" + encodeURIComponent(long);

        $.ajax({ //底层方法;

                  url: cmd2,  

          type: "GET",

          dataType: "jsonp", //使用JSONP方法进行AJAX,json有跨域问题;

          cache: false,

          success: function (data, status) {

          console.log(data.data.urls[0].url_short);

          console.log(status);

                  },

          error: function(obj,info,errObj){

          alert("$.ajax()中发生错误:" + info);

          }

            });

-------------------------------------------------------------------------------------------------

先写到这里,后面在补充!



  • 发表于 2018-08-02 12:16
  • 阅读 ( 2498 )
  • 分类:Html5前端

你可能感兴趣的文章

相关问题

3 条评论

请先 登录 后评论
不写代码的码农
vien007

不正经的码农

7 篇文章

作家榜 »

  1. 大北兔 15 文章
  2. 皮卡丘先生 13 文章
  3. hero 10 文章
  4. vien007 7 文章
  5. ningbnii 4 文章
  6. Even 4 文章
  7. 炸天 4 文章
  8. anlun214 4 文章