zoukankan      html  css  js  c++  java
  • js判断手机是否安装了某一款app,有则打开,没有去下载

    function openApp(){
                if(navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
                    var loadDateTime = new Date();
                    window.setTimeout(function() {
                        var timeOutDateTime = new Date();
                        if(timeOutDateTime - loadDateTime < 5000) {
                            window.location = "要跳转的下载app页面URL";
                        } else {
                            window.close();
                        }
                    },25);
                    window.location = " apps custom url schemes ";
                } else if(navigator.userAgent.match(/android/i)) {
                    var loadDateTime = new Date();
                    var state = window.open("apps custom url schemes ", '_blank');
                    window.setTimeout(function() {
                        var timeOutDateTime = new Date();
                        if(timeOutDateTime - loadDateTime < 5000) {
                            window.location = "要跳转的下载app页面URL";
                        } else {
                            window.close();
                        }
                    },25);
                }
            }

    apps custom url schemes 是什么呢?


    其实就是你与APP约定的一个协议URL,你的IOS同事或Android同事在写程序的时候会设置一个URL Scheme, 例如设置: URL Scheme :app 然后其他的程序就可以通过URLString = app:// 调用该应用。 还可以传参数,如:app://reaction/?uid=1

    原理:500ms内,本机有应用程序能解析这个协议并打开程序,调用该应用;如果本机没有应用程序能解析该协议或者500ms内没有打开这个程序,则执行setTimeout里面的function,就是跳转到你想跳转的页面。 以上就是js判断移动端是否安装某款app的方法,希望对大家的学习有所帮助。

  • 相关阅读:
    Tiny模板引擎之开发工具
    Tiny框架应用实践之Tiny社区
    TINY框架:组件化的J2EE开发框架
    TinyRMI---RMI的封装、扩展及踩到的坑的解决
    新手如何入门
    从应用示例来认识Tiny框架
    图形化插件对Eclipse的版本要求
    可不可以在局域网编译TINY?
    批量创建的方法
    不在框架中,利用Django的models操作
  • 原文地址:https://www.cnblogs.com/wanan-01/p/9914531.html
Copyright © 2011-2022 走看看