网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 使用JavaScript脚本判断页面是否在微信中被打开
内容
    这篇文章主要介绍了使用JavaScript脚本判断网页是否在微信中被打开的方法,在各种使用微信参加活动的移动版页面上经常可以用到,需要的朋友可以参考下
    1、根据User-Agent判断
    // Js获取User-Agent 
    window.navigator.userAgent 
    if(window.navigator.userAgent.match(/MicroMessenger/i) == "micromessenger") 
    // Php获取User-Agent 
    echo $_SERVER['HTTP_USER_AGENT']; 
    if(strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger')==true) 
    // 微信内部打开获取到的User-Agent 
    Mozilla/5.0 (Linux; U; Android 5.0.2; zh-cn; MI 2S Build/LRX22G) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.4 TBS/025488 Mobile Safari/533.1 MicroMessenger/6.3.9.48_refecd3e.700 NetType/WIFI Language/zh_CN 
    2、Url地址判断
    // 你网页正常的url是 
    https://forum.xxx.com/home.php?view=2015 
    // 使用微信打开会在url后面添加几个参数 
    https://forum.xxx.com/home.php?view=2015&from=timeline&isappinstalled=0 
    3、使用weixin-web-js判断是否是微信
    ! function(a, b) {
      "function" == typeof define && (define.amd || define.cmd) ? define(function() {
        return b(a)
      }) : b(a, !0)
    }(this, function(a, b) {
      function c(b, c, d) {
        a.WeixinJSBridge ? WeixinJSBridge.invoke(b, e(c), function(a) {
          g(b, a, d)
        }) : j(b, d)
      }
      function d(b, c, d) {
        a.WeixinJSBridge ? WeixinJSBridge.on(b, function(a) {
          d && d.trigger && d.trigger(a), g(b, a, c)
        }) : d ? j(b, d) : j(b, c)
      }
      function e(a) {
        return a = a || {}, a.appId = E.appId, a.verifyAppId = E.appId, a.verifySignType = "sha1", a.verifyTimestamp = E.timestamp + "", a.verifyNonceStr = E.nonceStr, a.verifySignature = E.signature, a
      }
      function f(a) {
        return {
          timeStamp: a.timestamp + "",
          nonceStr: a.nonceStr,
          "package": a.package,
          paySign: a.paySign,
          signType: a.signType || "SHA1"
        }
      }
      function g(a, b, c) {
        var d, e, f;
        switch (delete b.err_code, delete b.err_desc, delete b.err_detail, d = b.errMsg, d || (d = b.err_msg, delete b.err_msg, d = h(a, d), b.errMsg = d), c = c || {}, c._complete && (c._complete(b), delete c._complete), d = b.errMsg || "", E.debug && !c.isInnerInvoke && alert(JSON.stringify(b)), e = d.indexOf(":"), f = d.substring(e + 1)) {
          case "ok":
            c.success && c.success(b);
            break;
          case "cancel":
            c.cancel && c.cancel(b);
            break;
          default:
            c.fail && c.fail(b)
        }
        c.complete && c.complete(b)
      }
      function h(a, b) {
        var e, f, c = a,
          d = p[c];
        return d && (c = d), e = "ok", b && (f = b.indexOf(":"), e = b.substring(f + 1), "confirm" == e && (e = "ok"), "failed" == e && (e = "fail"), -1 != e.indexOf("failed_") && (e = e.substring(7)), -1 != e.indexOf("fail_") && (e = e.substring(5)), e = e.replace(/_/g, " "), e = e.toLowerCase(), ("access denied" == e || "no permission to execute" == e) && (e = "permission denied"), "config" == c && "function not exist" == e && (e = "ok"), "" == e && (e = "fail")), b = c + ":" + e
      }
      function i(a) {
        var b, c, d, e;
        if (a) {
          for (b = 0, c = a.length; c > b; ++b) d = a[b], e = o[d], e && (a[b] = e);
          return a
        }
      }
      function j(a, b) {
        if (!(!E.debug || b && b.isInnerInvoke)) {
          var c = p[a];
          c && (a = c), b && b._complete && delete b._complete, console.log('"' + a + '",', b || "")
        }
      }
      function k() {
        0 != D.preVerifyState && (u || v || E.debug || "6.0.2" > z || D.systemType < 0 || A || (A = !0, D.appId = E.appId, D.initTime = C.initEndTime - C.initStartTime, D.preVerifyTime = C.preVerifyEndTime - C.preVerifyStartTime, H.getNetworkType({
          isInnerInvoke: !0,
          success: function(a) {
            var b, c;
            D.networkType = a.networkType, b = "http://open.weixin.qq.com/sdk/report?v=" + D.version + "&o=" + D.preVerifyState + "&s=" + D.systemType + "&c=" + D.clientVersion + "&a=" + D.appId + "&n=" + D.networkType + "&i=" + D.initTime + "&p=" + D.preVerifyTime + "&u=" + D.url, c = new Image, c.src = b
          }
        })))
      }
      function l() {
        return (new Date).getTime()
      }
      function m(b) {
        w && (a.WeixinJSBridge ? b() : q.addEventListener && q.addEventListener("WeixinJSBridgeReady", b, !1))
      }
      function n() {
        H.invoke || (H.invoke = function(b, c, d) {
          a.WeixinJSBridge && WeixinJSBridge.invoke(b, e(c), d)
        }, H.on = function(b, c) {
          a.WeixinJSBridge && WeixinJSBridge.on(b, c)
        })
      }
      var o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H;
      if (!a.jWeixin) return o = {
        config: "preVerifyJSAPI",
        onMenuShareTimeline: "menu:share:timeline",
        onMenuShareAppMessage: "menu:share:appmessage",
        onMenuShareQQ: "menu:share:qq",
        onMenuShareWeibo: "menu:share:weiboApp",
        onMenuShareQZone: "menu:share:QZone",
        previewImage: "imagePreview",
        getLocation: "geoLocation",
        openProductSpecificView: "openProductViewWithPid",
        addCard: "batchAddCard",
        openCard: "batchViewCard",
        chooseWXPay: "getBrandWCPayRequest"
      }, p = function() {
        var b, a = {};
        for (b in o) a[o[b]] = b;
        return a
      }(), q = a.document, r = q.title, s = navigator.userAgent.toLowerCase(), t = navigator.platform.toLowerCase(), u = !(!t.match("mac") && !t.match("win")), v = -1 != s.indexOf("wxdebugger"), w = -1 != s.indexOf("micromessenger"), x = -1 != s.indexOf("android"), y = -1 != s.indexOf("iphone") || -1 != s.indexOf("ipad"), z = function() {
        var a = s.match(/micromessenger\/(\d+\.\d+\.\d+)/) || s.match(/micromessenger\/(\d+\.\d+)/);
        return a ? a[1] : ""
      }(), A = !1, B = !1, C = {
        initStartTime: l(),
        initEndTime: 0,
        preVerifyStartTime: 0,
        preVerifyEndTime: 0
      }, D = {
        version: 1,
        appId: "",
        initTime: 0,
        preVerifyTime: 0,
        networkType: "",
        preVerifyState: 1,
        systemType: y ? 1 : x ? 2 : -1,
        clientVersion: z,
        url: encodeURIComponent(location.href)
      }, E = {}, F = {
        _completes: []
      }, G = {
        state: 0,
        data: {}
      }, m(function() {
        C.initEndTime = l()
      }), H = {
        config: function(a) {
          E = a, j("config", a);
          var b = E.check === !1 ? !1 : !0;
          m(function() {
            var a, d, e;
            if (b) c(o.config, {
              verifyJsApiList: i(E.jsApiList)
            }, function() {
              F._complete = function(a) {
                C.preVerifyEndTime = l(), G.state = 1, G.data = a
              }, F.success = function() {
                D.preVerifyState = 0
              }, F.fail = function(a) {
                F._fail ? F._fail(a) : G.state = -1
              };
              var a = F._completes;
              return a.push(function() {
                k()
              }), F.complete = function() {
                for (var c = 0, d = a.length; d > c; ++c) a[c]();
                F._completes = []
              }, F
            }()), C.preVerifyStartTime = l();
            else {
              for (G.state = 1, a = F._completes, d = 0, e = a.length; e > d; ++d) a[d]();
              F._completes = []
            }
          }), E.beta && n()
        },
        ready: function(a) {
          0 != G.state ? a() : (F._completes.push(a), !w && E.debug && a())
        },
        error: function(a) {
          "6.0.2" > z || B || (B = !0, -1 == G.state ? a(G.data) : F._fail = a)
        },
        checkJsApi: function(a) {
          var b = function(a) {
            var c, d, b = a.checkResult;
            for (c in b) d = p[c], d && (b[d] = b[c], delete b[c]);
            return a
          };
          c("checkJsApi", {
            jsApiList: i(a.jsApiList)
          }, function() {
            return a._complete = function(a) {
              if (x) {
                var c = a.checkResult;
                c && (a.checkResult = JSON.parse(c))
              }
              a = b(a)
            }, a
          }())
        },
        onMenuShareTimeline: function(a) {
          d(o.onMenuShareTimeline, {
            complete: function() {
              c("shareTimeline", {
                title: a.title || r,
                desc: a.title || r,
                img_url: a.imgUrl || "",
                link: a.link || location.href,
                type: a.type || "link",
                data_url: a.dataUrl || ""
              }, a)
            }
          }, a)
        },
        onMenuShareAppMessage: function(a) {
          d(o.onMenuShareAppMessage, {
            complete: function() {
              c("sendAppMessage", {
                title: a.title || r,
                desc: a.desc || "",
                link: a.link || location.href,
                img_url: a.imgUrl || "",
                type: a.type || "link",
                data_url: a.dataUrl || ""
              }, a)
            }
          }, a)
        },
        onMenuShareQQ: function(a) {
          d(o.onMenuShareQQ, {
            complete: function() {
              c("shareQQ", {
                title: a.title || r,
                desc: a.desc || "",
                img_url: a.imgUrl || "",
                link: a.link || location.href
              }, a)
            }
          }, a)
        },
        onMenuShareWeibo: function(a) {
          d(o.onMenuShareWeibo, {
            complete: function() {
              c("shareWeiboApp", {
                title: a.title || r,
                desc: a.desc || "",
                img_url: a.imgUrl || "",
                link: a.link || location.href
              }, a)
            }
          }, a)
        },
        onMenuShareQZone: function(a) {
          d(o.onMenuShareQZone, {
            complete: function() {
              c("shareQZone", {
                title: a.title || r,
                desc: a.desc || "",
                img_url: a.imgUrl || "",
                link: a.link || location.href
              }, a)
            }
          }, a)
        },
        startRecord: function(a) {
          c("startRecord", {}, a)
        },
        stopRecord: function(a) {
          c("stopRecord", {}, a)
        },
        onVoiceRecordEnd: function(a) {
          d("onVoiceRecordEnd", a)
        },
        playVoice: function(a) {
          c("playVoice", {
            localId: a.localId
          }, a)
        },
        pauseVoice: function(a) {
          c("pauseVoice", {
            localId: a.localId
          }, a)
        },
        stopVoice: function(a) {
          c("stopVoice", {
            localId: a.localId
          }, a)
        },
        onVoicePlayEnd: function(a) {
          d("onVoicePlayEnd", a)
        },
        uploadVoice: function(a) {
          c("uploadVoice", {
            localId: a.localId,
            isShowProgressTips: 0 == a.isShowProgressTips ? 0 : 1
          }, a)
        },
        downloadVoice: function(a) {
          c("downloadVoice", {
            serverId: a.serverId,
            isShowProgressTips: 0 == a.isShowProgressTips ? 0 : 1
          }, a)
        },
        translateVoice: function(a) {
          c("translateVoice", {
            localId: a.localId,
            isShowProgressTips: 0 == a.isShowProgressTips ? 0 : 1
          }, a)
        },
        chooseImage: function(a) {
          c("chooseImage", {
            scene: "1|2",
            count: a.count || 9,
            sizeType: a.sizeType || ["original", "compressed"],
            sourceType: a.sourceType || ["album", "camera"]
          }, function() {
            return a._complete = function(a) {
              if (x) {
                var b = a.localIds;
                b && (a.localIds = JSON.parse(b))
              }
            }, a
          }())
        },
        previewImage: function(a) {
          c(o.previewImage, {
            current: a.current,
            urls: a.urls
          }, a)
        },
        uploadImage: function(a) {
          c("uploadImage", {
            localId: a.localId,
            isShowProgressTips: 0 == a.isShowProgressTips ? 0 : 1
          }, a)
        },
        downloadImage: function(a) {
          c("downloadImage", {
            serverId: a.serverId,
            isShowProgressTips: 0 == a.isShowProgressTips ? 0 : 1
          }, a)
        },
        getNetworkType: function(a) {
          var b = function(a) {
            var c, d, e, b = a.errMsg;
            if (a.errMsg = "getNetworkType:ok", c = a.subtype, delete a.subtype, c) a.networkType = c;
            else switch (d = b.indexOf(":"), e = b.substring(d + 1)) {
              case "wifi":
              case "edge":
              case "wwan":
                a.networkType = e;
                break;
              default:
                a.errMsg = "getNetworkType:fail"
            }
            return a
          };
          c("getNetworkType", {}, function() {
            return a._complete = function(a) {
              a = b(a)
            }, a
          }())
        },
        openLocation: function(a) {
          c("openLocation", {
            latitude: a.latitude,
            longitude: a.longitude,
            name: a.name || "",
            address: a.address || "",
            scale: a.scale || 28,
            infoUrl: a.infoUrl || ""
          }, a)
        },
        getLocation: function(a) {
          a = a || {}, c(o.getLocation, {
            type: a.type || "wgs84"
          }, function() {
            return a._complete = function(a) {
              delete a.type
            }, a
          }())
        },
        hideOptionMenu: function(a) {
          c("hideOptionMenu", {}, a)
        },
        showOptionMenu: function(a) {
          c("showOptionMenu", {}, a)
        },
        closeWindow: function(a) {
          a = a || {}, c("closeWindow", {}, a)
        },
        hideMenuItems: function(a) {
          c("hideMenuItems", {
            menuList: a.menuList
          }, a)
        },
        showMenuItems: function(a) {
          c("showMenuItems", {
            menuList: a.menuList
          }, a)
        },
        hideAllNonBaseMenuItem: function(a) {
          c("hideAllNonBaseMenuItem", {}, a)
        },
        showAllNonBaseMenuItem: function(a) {
          c("showAllNonBaseMenuItem", {}, a)
        },
        scanQRCode: function(a) {
          a = a || {}, c("scanQRCode", {
            needResult: a.needResult || 0,
            scanType: a.scanType || ["qrCode", "barCode"]
          }, function() {
            return a._complete = function(a) {
              var b, c;
              y && (b = a.resultStr, b && (c = JSON.parse(b), a.resultStr = c && c.scan_code && c.scan_code.scan_result))
            }, a
          }())
        },
        openProductSpecificView: function(a) {
          c(o.openProductSpecificView, {
            pid: a.productId,
            view_type: a.viewType || 0,
            ext_info: a.extInfo
          }, a)
        },
        addCard: function(a) {
          var e, f, g, h, b = a.cardList,
            d = [];
          for (e = 0, f = b.length; f > e; ++e) g = b[e], h = {
            card_id: g.cardId,
            card_ext: g.cardExt
          }, d.push(h);
          c(o.addCard, {
            card_list: d
          }, function() {
            return a._complete = function(a) {
              var c, d, e, b = a.card_list;
              if (b) {
                for (b = JSON.parse(b), c = 0, d = b.length; d > c; ++c) e = b[c], e.cardId = e.card_id, e.cardExt = e.card_ext, e.isSuccess = e.is_succ ? !0 : !1, delete e.card_id, delete e.card_ext, delete e.is_succ;
                a.cardList = b, delete a.card_list
              }
            }, a
          }())
        },
        chooseCard: function(a) {
          c("chooseCard", {
            app_id: E.appId,
            location_id: a.shopId || "",
            sign_type: a.signType || "SHA1",
            card_id: a.cardId || "",
            card_type: a.cardType || "",
            card_sign: a.cardSign,
            time_stamp: a.timestamp + "",
            nonce_str: a.nonceStr
          }, function() {
            return a._complete = function(a) {
              a.cardList = a.choose_card_info, delete a.choose_card_info
            }, a
          }())
        },
        openCard: function(a) {
          var e, f, g, h, b = a.cardList,
            d = [];
          for (e = 0, f = b.length; f > e; ++e) g = b[e], h = {
            card_id: g.cardId,
            code: g.code
          }, d.push(h);
          c(o.openCard, {
            card_list: d
          }, a)
        },
        chooseWXPay: function(a) {
          c(o.chooseWXPay, f(a), a)
        }
      }, b && (a.wx = a.jWeixin = H), H
    });
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/18 13:56:55