portal html css js resource

openApp.js 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. // 判断浏览器
  2. var u = navigator.userAgent;
  3. //var ifChrome = u.match(/Chrome/i) != null && u.match(/Version\/\d+\.\d+(\.\d+)?\sChrome\//i) == null ? true : false;
  4. var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) ? true : false; //ios终端
  5. var ifAndroid = (u.match(/(Android);?[\s\/]+([\d.]+)?/)) ? true : false;
  6. var ifiPad = (u.match(/(iPad).*OS\s([\d_]+)/)) ? true : false;
  7. var ifiPhone = (!ifiPad && u.match(/(iPhone\sOS)\s([\d_]+)/)) ? true : false;
  8. var ifSafari = (ifiPhone || ifiPad) && u.match(/Safari/);
  9. var version = 0;
  10. ifSafari && (version = u.match(/Version\/([\d\.]+)/));
  11. version = parseFloat(version[1], 10);
  12. // 是否从微信打开
  13. var ifWeixin = u.indexOf("MicroMessenger") >= 0; // weixin
  14. var j = false;//未安装
  15. // 微信相关操作
  16. function r() { // weixin api
  17. WeixinJSBridge.invoke("getInstallState", {
  18. packageName: "com.ekexiu",
  19. packageUrl: "ekexiu://"
  20. }, function(M) {
  21. var N = M.err_msg,
  22. L = 0;
  23. if (N.indexOf("get_install_state:yes") > -1) {
  24. j = true//已安装
  25. }
  26. })
  27. }
  28. // 微信操作
  29. if (ifWeixin) { // if navigitor is weixin
  30. if (window.WeixinJSBridge && WeixinJSBridge.invoke) {
  31. r()
  32. } else {
  33. document.addEventListener("WeixinJSBridgeReady", r, !1)
  34. }
  35. }
  36. function IFAndroid(W){//Android中的操作
  37. //if (ifChrome) { // 如果是chrome
  38. if (ifAndroid) { //安卓浏览器
  39. setTimeout(function() {
  40. window.location.href = W ;
  41. }, 50)
  42. }
  43. //}
  44. }
  45. function IFiOS(W){//IOS中的操作
  46. if(isiOS){
  47. if (ifSafari && version >= 9) { // 判断safari版本 如果大于9
  48. setTimeout(function() { // 必须要使用settimeout
  49. var ifr2 = document.createElement("a"); //创建a元素
  50. ifr2.setAttribute("href", W),
  51. ifr2.style.display = "none",
  52. document.body.appendChild(ifr2);
  53. var To = document.createEvent("HTMLEvents"); // 返回新创建的 Event 对象,具有指定的类型。
  54. To.initEvent("click", !1, !1)// 初始化新事件对象的属性,
  55. ifr2.dispatchEvent(To) // 绑定事件
  56. }, 0)
  57. }else{
  58. setTimeout(function() {
  59. var ifr = document.createElement("iframe");
  60. ifr.src = W;
  61. ifr.style.display = "none";
  62. document.body.appendChild(ifr);
  63. var Tp = document.createEvent("HTMLEvents"); // 返回新创建的 Event 对象,具有指定的类型。
  64. Tp.initEvent("click", !1, !1)// 初始化新事件对象的属性,
  65. ifr.dispatchEvent(Tp) // 绑定事件
  66. }, 0)
  67. }
  68. }
  69. }
  70. function isInstalled(this_,flag){
  71. var myUrl = {
  72. open: 'ekexiu://'+ this_,/***打开app的协议***/
  73. download: 'http://a.app.qq.com/o/simple.jsp?pkgname=com.ekexiu.app'/***下载app的地址***/
  74. };
  75. var g = [];
  76. var oUrl = myUrl.open;
  77. var downUrl=myUrl.download;
  78. console.log(oUrl)
  79. if (ifWeixin) { // 如果是微信端
  80. if(isiOS){
  81. if((window.location.href).indexOf("?")>0){
  82. window.location.href = window.location.href +"&ifOp=1";
  83. }else{
  84. window.location.href = window.location.href +"?ifOp=1";
  85. }
  86. }
  87. if (j) {
  88. window.location.href = oUrl;
  89. } else {
  90. setTimeout(function() {
  91. window.location.href = downUrl;
  92. },1500)
  93. }
  94. return;
  95. }
  96. IFAndroid(oUrl);
  97. IFiOS(oUrl);
  98. var P = Date.now();
  99. setTimeout(function() {
  100. if (flag) {
  101. var S = setTimeout(function() {
  102. var L = Date.now();
  103. if (P && (L - P) < (1500 + 200)) {
  104. window.location.href = downUrl
  105. }
  106. }, 1500);
  107. g.push(S)
  108. }
  109. }, 100)
  110. }
  111. function wcFresh(this_){//刷新页面
  112. var ifOp=GetQueryString("ifOp");
  113. if(ifOp){
  114. if(ifWeixin){//指示浏览器打开
  115. if(isiOS){
  116. var str=document.createElement("div");
  117. str.setAttribute("class","strCss");
  118. document.body.appendChild(str);
  119. }
  120. }else{
  121. var oUrl2="ekexiu://"+this_;
  122. IFiOS(oUrl2);
  123. }
  124. }
  125. }