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里未生效(需要找头条相关人士开个白名单)
  • 相关阅读:
    phpdocumentor生成代码注释文档(linux)
    phpstorm扩展
    es教程
    康威定律
    k8s
    tidb调研
    netty 在线教程
    McQueenRPC源码阅读
    DIY一些基于netty的开源框架
    性能测试
  • 原文地址:https://www.cnblogs.com/ganmy/p/10245939.html
Copyright © 2011-2022 走看看