zoukankan      html  css  js  c++  java
  • h5唤起app

     1 <!DOCTYPE html>
     2 <html>
     3 <!-- 经测试,android iosok了 -->
     4 <head>
     5 <meta charset="UTF-8">
     6 <title>网页呼叫app</title>
     7 <style>
     8 #zjmobliestart {
     9 font-size: 40px;
    10 }
    11 </style>
    12 </head>
    13 
    14 <body>
    15 <a onclick="util.tuneUpApp()" href="will://">clickme</a>
    16 <script>
    17 var util = {};
    18 util.tuneUpApp = function () {
    19 var browser = {    
    20 versions: function () {         
    21 var u = navigator.userAgent,
    22             app = navigator.appVersion;         
    23 return {              
    24 trident: u.indexOf('Trident') > -1,
    25              /*IE内核*/               presto: u.indexOf('Presto') > -1,
    26       /*opera内核*/               webKit: u.indexOf('AppleWebKit') > -1,
    27 /*苹果、谷歌内核*/
    28               gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
    29      /*火狐内核*/               mobile: !!u.match(/AppleWebKit.*Mobile.*/),
    30      /*是否为移动终端*/               ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/),
    31 /*ios终端*/
    32               android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
    33 /*android终端或者uc浏览器*/
    34               iPhone: u.indexOf('iPhone') > -1,
    35       /*是否为iPhone或者QQHD浏览器*/               iPad: u.indexOf('iPad') > -1,
    36     /*是否iPad*/               webApp: u.indexOf('Safari') == -1,
    37       /*是否web应该程序,没有头部与底部*/               souyue: u.indexOf('souyue') > -1,
    38               superapp: u.indexOf('superapp') > -1,
    39               weixin: u.toLowerCase().indexOf('micromessenger') > -1,
    40               Safari: u.indexOf('Safari') > -1          
    41 };     
    42 }(),
    43 language: (navigator.browserLanguage || navigator.language).toLowerCase()
    44 };
    45 
    46 if (browser.versions.ios) {
    47 location.href = 'will://';
    48 setTimeout(function () {
    49 location.href = 'http://192.168.0.140:8080/html/download.html';
    50 }, 1000);
    51 setTimeout(function () {
    52 location.reload();
    53 }, 1000);
    54 } else if (browser.versions.android) {
    55 var startTime = Date.now();
    56 var ifr = document.createElement('iframe');
    57 ifr.src = "will://share/testid";
    58 ifr.style.display = 'none';
    59 document.body.appendChild(ifr);
    60 var t = setTimeout(function () {
    61 var endTime = Date.now();
    62 if (!startTime || endTime - startTime < 600 + 200) {
    63 window.location = 'http://192.168.0.140:8080/html/download.html';
    64 } else {
    65 
    66 }
    67 }, 1000);
    68 window.onblur = function () {
    69 clearTimeout(t);
    70 }
    71 }
    72 }
    73 </script>
    74 </body>
    75 
    76 </html>
    业精于勤荒于嬉,行成于思毁于随
  • 相关阅读:
    Windows Azure 网站 (WAWS) 中的服务器端包含 (SSI)
    Windows Azure 即将更名
    由世纪互联运营的 Windows Azure 现已在中国正式发布
    Windows Azure 存储的冗余存储选项和只读访问跨地域冗余存储
    Azure 网站的新增功能:可配置的环境变量
    cocos2dx中的其他层
    日期类型的特殊性 -- 日期函数转换
    now()与sysdate()的区别(1)
    定义变量时无引号,单引号,双引号区别与特点
    把一个命令的结果作为变量内容赋值方法
  • 原文地址:https://www.cnblogs.com/qixianchuan/p/11155961.html
Copyright © 2011-2022 走看看