H5的页面中怎样调用APP功能

这次给大家带来h5的页面中怎样调用app功能,在h5的页面中调用app功能的注意事项有哪些,下面就是实战案例,一起来看一下。

在市面上经常见到这种功能现如今应该非常普遍了,淘宝H5,知乎H5等等。。。

点击后会调起APP或者打开下载页面或者直接进行下载。

但是我这里发现知乎的这个功能有点不一样

他的逻辑是先提示我是否打开手机中的知乎APP(浏览器的机制询问用户操作许可),然后接着又弹出下载的提示。

解决方案URL scheme

URL scheme的方式在IOS和安卓都支持,兼容性较好。

优先使用iframe的方式

伪代码如下:

const iframe = document.createElement('iframe');iframe.src = 'URL scheme'; // URL scheme的方式跳转iframe.style.display = 'none';document.body.appendChild(iframe);

这时候如果在一切环境支持的情况下,就会唤醒APP了。

但是这是理想情况下,更多的是要做兼容处理这快逻辑。

有些系统会拦截iframe的src(这只是造成唤醒APP失败的其中一种原因),因为这个src属性是一个法外hacker,很多漏洞都是利用他造成的。

所以这时候就要判断调APP失败的情况了。

伪代码如下:

const timer = 1000;setTimeout(function() {        // 执行成功后移除iframe    document.body.removeChild(iframe);    //setTimeout小于2000通常认为是唤起APP失败    if (Date.now() - last < 2000) {            // 执行失败函数            // 这里需要考虑一下之前知乎遇到的那个问题(浏览器询问导致时间小于2S)    } else {           //  执行成功函数        }}, timer);

理解:

如果唤起成功,H5页面会被切换到后台,计时器就会延迟。即使用户再从app切换到H5页面,这个时间差必然也是大于2S的。

如果唤起失败,定时器会准时执行(即使会有100ms的延迟也是够了),这时候必然是小于2S的。

在iframe被拦截的情况下,我们可以使用window.location.href = URL scheme来做兼容。

相信看了这些案例你已经掌握了方法,更多精彩请关注创想鸟其它相关文章!

相关阅读:

HTML 5之新增的特性该如何使用

HTML的table鼠标拖拽排序该如何实现

html怎样实现页面跳转时传递参数

以上就是H5的页面中怎样调用APP功能的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1545559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 17:04:28
下一篇 2025年12月21日 17:04:36

相关推荐

  • h5怎样通过canvas来实现滚动弹幕功能

    这次给大家带来h5怎样通过canvas来实现滚动弹幕功能,通过canvas实现滚动弹幕功能的注意事项有哪些,下面就是实战案例,一起来看一下。 最近在着手开发弹幕视频网站,通过html5中的canvas实现了弹幕的功能。 那么闲言碎语不要讲,先说思路后上代码。 思路:从页面布局上来说就是将一块画布覆盖…

    好文分享 2025年12月21日
    000
  • 用H5和C3实现简单的时钟效果

    这次给大家带来用h5和c3实现简单的时钟效果,用h5和c3实现简单的时钟效果的注意事项有哪些,下面就是实战案例,一起来看一下。 目的: 利用html5,css实现钟摆效果 知识点: 1) 利用position/left/top和calc()实现元素的水平和垂直居中; 2) 利用CSS3的animat…

    好文分享 2025年12月21日
    000
  • h5如何实现记住密码功能

    这次给大家带来h5如何实现记住密码功能,h5实现记住密码功能的注意事项有哪些,下面就是实战案例,一起来看一下。 HTML5 提供了两种在客户端存储数据的新方法: localStorage – 没有时间限制的数据存储 sessionStorage – 针对一个 session …

    好文分享 2025年12月21日
    000
  • H5的本地存储和本地数据库详细介绍

    这次给大家带来h5的本地存储和本地数据库详细介绍,使用h5的本地存储和本地数据库的注意事项有哪些,下面就是实战案例,一起来看一下。 本地存储 1.1 本地存储由来的背景 由于HTML4时代Cookie的大小、格式、存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cook…

    好文分享 2025年12月21日
    000
  • 怎样用h5的sse服务器发送EventSource事件

    这次给大家带来怎样用h5的sse服务器发送eventsource事件,用h5的sse服务器发送eventsource事件的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 我前面文章讲过数据大屏,里面的数据时时更新。还有时时更新的股票数据,Facebook/Twitter 更新、估价更新、新的…

    好文分享 2025年12月21日
    000
  • HTML5的WEB界面中meta实列详解

    这次给大家带来html5的web界面中meta实列详解,使用html5的web界面中meta的注意事项有哪些,下面就是实战案例,一起来看一下。 简介 meta标签是HTML语言HEAD区的一个辅助性标签。 meta常用于定义页面的说明,关键字,最后修改日期,和其它的元数据。这些元数据将服务于浏览器(…

    好文分享 2025年12月21日
    000
  • 怎样用HTML实现滚动弹幕功能

    这次给大家带来怎样用html实现滚动弹幕功能,html实现滚动弹幕功能的注意事项有哪些,下面就是实战案例,一起来看一下。 主要的功能有;发送弹幕,设置弹幕的颜色,速度和类型,显示弹幕 已知缺陷:不能全屏 canvas没有做自适应 没有自定义播放器控件 没有根据播放时间显示相应的弹幕 弹幕不能实现悬停…

    好文分享 2025年12月21日
    000
  • 关于html5中图片抛物线运动技巧分享

    本文主要介绍了浅谈关于h5中图片抛物线运动的一些心得,详细的介绍了沿贝塞尔曲线运动的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。 常见的, 物体/图片做抛物线或者更准确的说是沿贝塞尔曲线运动是H5开发中常见的需求, 那么如何快速的根据设计稿计算出运动路径是开发者首要解决…

    2025年12月21日
    000
  • HTML5打开手机扫码功能及优缺点_html5教程技巧

    这篇文章主要介绍了html5打开手机扫码功能及优缺点的相关html5资料,对html5感兴趣的朋友可以参考下 1.解决的问题: 1.能够在微博客户端呼起摄像头扫描二维码并且解析; 2.能够在原生浏览器和微信客户端中扫描二维码并且解析; 2.优点: 立即学习“前端免费学习笔记(深入)”; web端或者…

    好文分享 2025年12月21日
    000
  • HTML5实现分享各大微信QQ等交流平台二维码功能

    本文主要介绍了html5实现分享到微信好友朋友圈qq好友qq空间微博二维码功能的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下,希望能帮助到大家。 这是分享按钮: 通用分享微信好友朋友圈QQQQ空间微博  这是js调用代码: var nativeShare = new NativeSha…

    好文分享 2025年12月21日
    000
  • HTML5 Ajax文件上传进度条如何显示

    这篇文章主要介绍了html5 ajax文件上传进度条是如何显示的,基于原生html5实现,不需要falsh支持,进度可以自定义显示,控制灵活,对html5上传进度条感兴趣的小伙伴们可以参考一下 原本打算使用jquery插件进行异步文件上传,比如uploadfy但是需要额外的支持,也有人用iframe…

    好文分享 2025年12月21日
    000
  • HTML中 table鼠标拖拽排序功能的实现

     table是html里不可缺少的一项属性,很多地方我们都要用到,本文主要介绍了html table鼠标拖拽排序功能的相关资料,需要的朋友可以参考下,希望可以帮助到大家。 效果图: 1.引入文件 2.给元素附上sortable类 立即学习“前端免费学习笔记(深入)”; 3.开启并配置 $(funct…

    2025年12月21日
    000
  • HTML多图上传预览功能的实现

    最近平凡用到网页多图上传预览的功能,感觉挺不错的,今天小编抽空给大家分享下基于html实现多图上传预览功能,希望能帮助到大家。 自己最近写了一个网页多图上传的脚本,感觉挺实用的,细节就不要说了,直接贴代码了~ .pro_img{ margin-left:10px;margin-top:10px;wi…

    好文分享 2025年12月21日
    000
  • 巧用HTML5给按钮背景设计不同的动画

    如何巧用html5设计按钮背景不同动画特效,在该特效中,当鼠标滑过按钮时,使用css3   animation 来动画   background-size  和  background-position  属性,来实现各种背景动画效果。本文就和大家分享html5给按钮背景设计不同的动画简单实例。小编…

    2025年12月21日 好文分享
    000
  • 用h5做出微信的支付过程的实现步骤

    这次给大家实现的案例是用户在微信里打开网页的时候,也可以调用微信支付来完成下单功能。当然,微信官网的,开发文档也有很详细的介绍,但是今天我们来教大家怎样手动做出支付接口的开发。 以提交问题流程为例描述分答微信h5支付过程 1、提交问题domobiletutor方法 (1)费用 (2)支付说明 (3)…

    2025年12月21日
    000
  • 用H5做有特效的下拉框

    今天教大家如何用h5做出一个有小特效的下拉框。当你点击下拉框的内容会就出现在文本域中的一个小特效,下面来看一下详细案列代码。 HTML中有个下拉框,包含“风,雨,雷,电”,添加事件,当选择风时,文本域内出现选择 Title 风 雨 雷 电 function ShowToText(){ documen…

    好文分享 2025年12月21日
    000
  • html5中的DOM编程的实现步骤

    这次给大家介绍什么是dom编程,我们知道,dom是documentobjectmodel的缩写,中文名称是文档对象模型。同时dom也是处理html页面的标准编程接口,那么我们为什么要学习dom呢? 1,DOM可以让用户对网页元素进行交互操作 比如,当我点击了一个按钮,弹出一个对话框等操作。 2,DO…

    好文分享 2025年12月21日
    000
  • 服务端主动发送数据回客户端在H5里的实现步奏

    我们知道,在server sent event里,通过eventsource对象接收服务器发送事件的通知是有三个事件的,message, open, error这三种,今天就给大家演示一下服务端主动发送数据回客户端在h5里的实现步奏。 Server Sent Event Server Sent Ev…

    好文分享 2025年12月21日
    000
  • H5的多线程如何实现Web Worker

    很多人问过我,h5的多线程如何实现web worker的?当我们说到这个问题的时候首先你需要知道,什么是web worker,那么今天就来给大家解答下这个问题。 将JavaScript代码交给Web Worker在后台执行时,页面就可以在JavaScript运行期间依然可以响应用户操作,以防止出现页…

    好文分享 2025年12月21日
    000
  • h5里js和servlet实现文件上传的实现步骤

    这次教大家的是在h5里如何用js和servlet来实现文件上传,不过有一个前提条件,必须要是h5和jsp3.0版本,因为用到了新属性,获取file对象和后台得到part对象。 下面给大家看一个案列 前台jsp Insert title here name: 文件: 提交 function btu()…

    好文分享 2025年12月21日
    000

发表回复

登录后才能评论
关注微信