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>
    业精于勤荒于嬉,行成于思毁于随
  • 相关阅读:
    第一讲 jQuery入门
    Log4j日志记录
    第四讲 Hibernate 缓存管理
    第一讲 Hibernate 简介
    第三讲 Spring 持久层封装、事务控制
    对 PInvoke 函数的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标
    善用 C# 3.0 Extensions 方法
    .net 下如何将文档文件(Word, Pdf等) 中的文本提取出来(转)
    vs2010常用快捷键 (转)
    Silverlight 视频学习札记(一)
  • 原文地址:https://www.cnblogs.com/qixianchuan/p/11155961.html
Copyright © 2011-2022 走看看