zoukankan      html  css  js  c++  java
  • 简话h5唤起本地app

    在没接触这个功能之前,查询各种文档后也只是似懂非懂,做过之后,发现其实很简单,简言之就是通过一个iframe或者a标签来跳转app端提供的URL schema(至于这个URL schema的组成格式,前端可以不用管,如果确实想要知道,可以自行百度),经测试用iframe标签的兼容性比a标签要好,故此处以iframe为例

    autoCallApp(scheme, btnLink) { // scheme:schema链接, btnLink:本地未安装app时要跳转的目的链接
    const ifr = document.createElement('iframe');
    ifr.href = scheme;
    ifr.style.display = 'none';
    document.body.appendChild(ifr);
    const openTime = +new Date();
    window.setTimeout(() => {
    document.body.removeChild(ifr);
    if (+new Date() - openTime > 2000) { // 若2s后执行的时间减openTime超过2s,则默认其启动本地app失败,跳转到btnLikn (目前前端是没法知道h5唤起app是否成功的)
    window.location.href = btnLink;
    }
    }, 2000);
    }
    PS:此种方法目前在浏览器、微信、qq、微博测试通过,在头条app里未生效(需要找头条相关人士开个白名单)
  • 相关阅读:
    面向对象之补充
    继续面向对象之成员与组合
    面向对象初阶
    模块和包
    异常处理
    [Array]448. Find All Numbers Disappeared in an Array
    [Array]485. Max Consecutive Ones
    [Array] 561. Array Partition I
    [Array] 566. Reshape the Matrix
    opencv3.1线性可分svm例子及函数分析
  • 原文地址:https://www.cnblogs.com/ganmy/p/10245939.html
Copyright © 2011-2022 走看看