关闭微信页面/判断设备/判断浏览器

//判断是否在微信浏览器打开
function isWeiXin() {
    var ua = window.navigator.userAgent.toLowerCase();
    if (ua.match(/MicroMessenger/i) == 'micromessenger') {
        return true;
    } else {
        return false;
    }
}
//判断设备
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
    console.log("苹果");
} else if (/(Android)/i.test(navigator.userAgent)) { 
 	console.log("Android");
} else { console.log("pc");};
//关闭微信浏览器**正常关闭页面的兼容写法不支持微信页面
$(".buton").click(function(){
    WeixinJSBridge.call('closeWindow');
})
### 微信浏览器内置对象 WeixinJSBridge 方法使用说明 #### 判断是否处于微信内置浏览器环境 为了确保 `WeixinJSBridge` 的方法能够正常工作,必须先确认当前运行环境为微信内置浏览器。这可以通过检测 `window.navigator.userAgent` 字符串中的特定标记来实现。 ```javascript function isWeixinBrowser() { var ua = window.navigator.userAgent.toLowerCase(); return ua.indexOf('micromessenger') !== -1; } if (isWeixinBrowser()) { // 执行依赖于 WeixinJSBridge 的代码逻辑 } else { console.log("Not running inside WeChat browser"); } ``` 此段代码用于验证用户代理字符串中是否存在 "micromessenger" 关键字,以此判断是否位于微信客户端内[^2]。 #### 调用支付功能并处理回调 当利用 `WeixinJSBridge.invoke` 进行支付操作时,可能会遇到支付完成后页面未自动跳转的情况。解决这一问题的关键在于正确配置服务器端返回的数据以及前端如何解析这些数据。 ```javascript // 假设已经获取到了支付所需的参数 dataObj var payData = JSON.stringify(dataObj); WeixinJSBridge.invoke( 'getBrandWCPayRequest', payData, function(res){ if(res.err_msg === "get_brand_wcpay_request:ok"){ alert("支付成功!"); location.href="http://yourdomain.com/success"; }else{ alert("支付失败:" + res.err_desc); } } ); ``` 上述代码展示了发起一次微信支付请求的过程,并在支付结束后依据响应结果决定下一步动作。如果支付成功,则重定向至指定URL;反之则提示错误信息[^1]。 #### 关闭窗口 对于某些场景下希望引导用户离开当前网页的情形,可以调用 `WeixinJSBridge.call('closeWindow')` 或者 `WeixinJSBridge.invoke("closeWindow")` 来安全地关闭当前浏览会话。 ```javascript // 方式一:call方式 WeixinJSBridge.call('closeWindow'); // 方式二:invoke方式(带回调) WeixinJSBridge.invoke("closeWindow", {}, function(response) {}); ``` 这两种方法都可以用来优雅地结束用户的访问流程,区别仅在于后者提供了额外的回调函数支持以便进一步处理可能产生的反馈信息[^3][^5]。 #### 禁止右上角菜单项显示 针对特殊业务需求,比如防止敏感内容被轻易转发出去的情况下,可通过如下手段隐藏默认提供的分享按钮: ```javascript document.addEventListener('WeixinJSBridgeReady', function onBridgeReady(){ WeixinJSBridge.call('hideOptionMenu'); }); ``` 这段脚本会在微信 JS-Bridge 准备就绪之后立即生效,从而达到屏蔽顶部导航栏更多选项的效果[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值