微信内部浏览器打开网页时提示外部浏览器打开升级版探讨-直接跳转默认浏览器打开

在涉及移动端支付的项目时,由于对支付需求的精细化,不仅需要扫码支付,还有唤醒App支付,另外还有在微信、QQ、支付宝内置浏览器给出相应的提示。

好在国内各大巨头公司在开发浏览器的时候都在浏览器标识上加了相应的字符,下面直接贴代码:

function is_neizhi() {

var ua = navigator.userAgent.toLowerCase();

if (ua.match(/MicroMessenger/i) == "micromessenger") {

return "weixin";

} else if (ua.match(/QQ/i) == "qq") {

return "QQ";

} else if (ua.match(/Alipay/i) == "alipay" && payway == 2) {

return "alipay";

}

return false;

}

由此可以判断是否是App内置浏览器或者更加精细到某App内置浏览器。但是略坑的是:微信支付不管是在QQ、微信还是支付宝内置浏览器里面都不能被唤醒;支付宝支付可以在支付宝内置浏览器唤醒,其余则不能。

在外部浏览器打开是用jquery遮罩层方式写的,下面直接贴代码:

var isNeizhi = is_neizhi();  //调用上面js判断

var winHeight = typeof window.innerHeight != ‘undefined‘ ? window.innerHeight : document.documentElement.clientHeight;  //网页可视区高度

var weixinTip = $(‘<div id="weixinTip"><p><img src="live_weixin.png" alt="微信打开"/></p></div>‘);

if(isNeizhi){

$("body").append(weixinTip);

}

$("#weixinTip").css({

"position": "fixed",

"left": "0",

"top": "0",

"height": winHeight,

"width": "100%",

"z-index": "1000",

"background-color": "rgba(0,0,0,0.8)",

"filter": "alpha(opacity=80)",

});

$("#weixinTip p").css({

"text-align": "center",

"margin-top": "10%",

"padding-left": "5%",

"padding-right": "5%"

});

$("#weixinTip p img").css({

"max-width": "100%",

"height": "auto"

});

当然,提示的图片素材你得要有一张,最终效果如下:

升级版是自动打开手机默认浏览器

效果如下:

测试地址:http://wzf.zjychina.cn/wt0222.html

原文地址:https://www.cnblogs.com/gate2008/p/10434822.html

时间: 2024-10-19 06:59:29

微信内部浏览器打开网页时提示外部浏览器打开升级版探讨-直接跳转默认浏览器打开的相关文章

lnmp打开cacti时提示PHP Warning: date()

配置完lnmp后,配置cacti,打开时发现,显示网页,手动运行   /usr/local/php/bin/php  /usr/local/nginx/html/cacti/poller.php  --force时提示 PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the da

打开网页时快时慢

lnmp架构,发现同一个网页打开时快时慢,上下行流量极小,测试中,查看nginx错误日志,发现这么一句“ PHP message: PHP Warning:  file_get_contents(http://url/index.php?url=yoururl/kjtest): failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /

解决当打开Unity时 提示项目已经打开,而自己之前并没有打开过(可能之前异常关闭)的问题

当打开Unity时 提示项目已经打开,而自己之前并没有打开过(可能之前异常关闭) 发生这种情况时 打开项目目录中的 Temp文件夹,可以找到 一个 UnityLockfile 文件 将这个文件删除就可以正常打开了

仿微信中加载网页时带线行进度条的WebView的实现

finddreams:http://blog.csdn.net/finddreams/article/details/44172639 为了仿微信中加载网页时带进度条的WebView的实现,首先我们来看一下微信中的效果是什么样的: 明确需求之后,我们来开始动手做,首先我们来自定义一个带进度条的WebView,名字为ProgressWebView: /** * @Description:带进度条的WebView * @author http://blog.csdn.net/finddreams *

打开Excel2010时提示错误:向程序发送命令时出现问题!

使用的是正版的Windows7(64位)专业版系统以及正版的Office2010专业版(32位),从去年3月份发现:打开Excel2010时弹出'程序发送命令时出现问题'的对话框,随后无法打开Excel文件的问题,但是 Word 和PowerPoint并没有出现类似问题. 尝试了下面的四种方法都没能得到解决: 1.采用Excel菜单'常规'选项下取消勾选"忽略使用动态数据交换(DDE)的其他应用程序"的方法( article-1296-1.html). 2.取消excel中的加载项的方

微信中如何通过手机系统默认外部浏览器打开指定网页URL

在微信的内置浏览器(QQ内置浏览器也一样)里他屏蔽了很多网页(特别是下载链接),不管是app的下载链接,还是普通网页只要稍微带一点营销性质的的链接都屏蔽了,这个问题有两个解决方案. 首先如果你是App下载链接就传到腾讯应用宝,但是这会给应用宝带来流量,如果二次下载折损率很高.其二就是提示引导用户在浏览器打开所以如果你没有将软件上传到应用宝里,或者你的文件不是APP,那么就需要第二种方法了,首先是需要判断用户的浏览器是否为微信内置浏览器,如果是弹出一个图层,提示用户点击右上角的三个点,然后点击在浏

Win2003打开网页时总是提示添加网址到信任站点的设置方法

在WIN2003系统中,我们打开网页,或打开网站,或浏览网页时,老是跳出一个窗口提示"添加网址到信任站点","网页老是提示添加信任"或"2003每打开一次网页都要加入受信任站点"或"win2003提示信任站点"或"打开网页提示把此网页加入可信站点怎么处理"或"win2003打开网页提示"等等描述都是对这个问题的反应. Win2003的操作系统,的确比其它操作系统在安全上增加了不少,这是为

【android】只让本应用程序的webview加载网页而不调用外部浏览器的办法

只让本应用程序的webview加载网页,而不调用外部浏览器打开的办法就是:设置WebViewClient,并重写WebViewClient的shouldOverrideUrlLoading方法返回true mWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated

VS2013 打开项目时提示This project is incompatible with the current edition Visual Studio.

刚安装完成了Visual Studio 2013后,打开项目时,遇到以下问题 解决方法:在Visual Studio 2013 的菜单中打开"Tools",并打开"Extensions and updates" 在弹出的窗口中查看,其中需要有部分的更新 其中可以看到,比较重要的是安装Visual Studio 2015 update 5 原文地址:https://www.cnblogs.com/weschen/p/8241331.html