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里未生效(需要找头条相关人士开个白名单)
  • 相关阅读:
    iOS 图片加载
    viewController 生命周期 转
    @import和@class的区别
    git 使用总结
    iOS开发 关于property的简单总结
    Swift-6-函数
    Swift-5-流程控制
    Swift-4-数组和字典
    Swift-3-字符串和字符
    Swift-2-基本操作符
  • 原文地址:https://www.cnblogs.com/ganmy/p/10245939.html
Copyright © 2011-2022 走看看