[关闭]
@Wangww0925 2021-01-29T08:19:04.000000Z 字数 1807 阅读 241

H5唤起APP应用或跳转至APPstore

js


  1. /*
  2. * app唤起
  3. * 要求: 存在App则跳转,不存在则下载
  4. * 属性:
  5. dom 点击按钮,必须是a标签
  6. tip 提示的标签
  7. tipText 提示内容存放的标签
  8. iosUrl ios跳转路径
  9. iosDown ios下载地址
  10. iosTip ios提示的语句
  11. androidUrl 安卓跳转路径
  12. androidDown 安卓下载地址
  13. androidTip 安卓提示的语句
  14. * 例子:
  15. appDownload({
  16. dom: $('#btn_download'),
  17. iosUrl: "qunchangmob://rzline?acceptId=588",
  18. androidUrl: "qunchangmob://rzline/market?acceptId=631",
  19. iosDown: "https://itunes.apple.com/cn/app/linkmore/id1044984300?mt=8",
  20. androidDown: "https://android.myapp.com/myapp/detail.htm?apkName=com.qcmob.android&ADTAG=mobile",
  21. tip: $("#content1"),
  22. tipText: $("#content1 .tip"),
  23. })
  24. */
  25. function appDownload(options){
  26. var option = {
  27. iosDown: "https://itunes.apple.com/cn/app/linkmore/id1044984300?mt=8",
  28. androidDown: "https://android.myapp.com/myapp/detail.htm?apkName=com.qcmob.android&ADTAG=mobile",
  29. iosTip: "点击右上角,选择“在safari中打开”",
  30. androidTip: "点击右上角,选择“在浏览器中打开”"
  31. }
  32. $.extend(option, options);
  33. var ua = window.navigator.userAgent.toLowerCase();
  34. var isweixin = ua.match(/micromessenger/i) != null;
  35. var isweibo = ua.match(/weibo/i) == "weibo";
  36. var time = new Date().getTime();
  37. if (isweixin || isweibo) {
  38. option.dom.click(function () {
  39. option.tip.css("display","block"); // 此处需做提示
  40. });
  41. // 在微信或微博中,引导用户使用浏览器提示语句
  42. if (navigator.userAgent.match(/android/i)) {
  43. option.tipText.text(option.androidTip);
  44. }
  45. if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
  46. option.tipText.text(option.iosTip);
  47. }
  48. } else {
  49. if (navigator.userAgent.match(/android/i)) {
  50. option.dom.attr('href', option.androidUrl);
  51. option.dom.click(function () {
  52. appDelay(time, option.androidDown);
  53. })
  54. }
  55. if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
  56. option.dom.attr('href', option.iosUrl);
  57. option.dom.click(function () {
  58. appDelay(time, option.iosDown);
  59. })
  60. }
  61. }
  62. }
  63. // 判断是否打开app成功,不成功则跳转至应用商店
  64. function appDelay(time, url){
  65. var delay = setInterval(function(){
  66. var now = new Date().getTime();
  67. if(now - time < 3000 && now - time > 2000){
  68. window.location.href = url
  69. }
  70. if(now - time >= 3000){
  71. clearInterval(delay);
  72. }
  73. }, 2000);
  74. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注