博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信如何唤起外部浏览器打开指定链接
阅读量:5978 次
发布时间:2019-06-20

本文共 2705 字,大约阅读时间需要 9 分钟。

很多朋友都已经习惯在微信内分享网页链接和二维码了,通过扫描二维码下载APP或打开网页也成为大家惯用且非常方便的方式了。如此微信就成为了扫描二维码重要的工具,因为对于用户来说,说到二维码大家第一反应就是打开微信扫一扫,这是用户习惯问题。很多商家也是熟知这一点,所以纷纷选择微信来推广h5、app或者营销活动之类的。

然而在使用微信推广的时候,经常会遇到分享出去的链接被微信拦截或无法在微信内打开,也无法下载的问题。那么该问题就需要用技术手段来实现微信跳转外部浏览器打开网页或下载APP,如果对接口进行针对性地处理,还可以实现微信内直接下载app。下面为大家介绍两种实现方案和效果。

以下方案可参考实现教程:

方案一

实现微信跳转链接,也就是微信内置浏览器自动跳转其他浏览器打开链接。首先我们需要对分享域名加JS防封接口,然后我们再加入浏览器外跳接口,以达到我们的期望需求。

功能实现后, 苹果用户即可在微信内直接下载app也可以跳转浏览器下载,安卓用户则自动打开手机浏览器下载app, 如果不含下载文件,则直接从微信内跳转到手机浏览器访问指定页面 。下面是含app下载文件的实现效果:

1. 苹果跳转浏览器效果

 

2. App Store应用实现效果

 

3. 企业版app实现效果

 

4. 安卓用户则自动打开手机默认浏览器访问指定h5页面或者下载app。

方案二

实现微信域名防封。

 

用以上两种方式皆可以避免分享链接在微信内被拦截,功能实现后用户在微信内打开分享链接就可以正常访问了。

如此一来我们就解决了域名被微信拦截而无法打开的问题了,那么接下来就可以在微信内大量的分享链接或二维码来进行宣传引流。不仅提高了用户体验,也能够极大地提高自己的APP在微信中的推广转化率,充分利用微信的用户群体来达到我们的期望。

       

实现代码

​function isWx(){
//判断是否为微信 var ua = window.navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i) == 'micromessenger'){ return true; } return false;};if(isWx()){
//判断浏览器是否微信 var html='
' layer.open({
//这里使用了layer的弹窗组件,你也可以自己写 type: 1,content: html,anim: 'up', style: 'position:fixed; bottom:0; left:0; width: 100%; height: 100%; padding:0; border:none;' }); return;}<--有不懂的咨询我的q:511979480-->
= 59){ //如果超过1小时,更新ticket $url = get_ticket($w_url_code); if($url){ query_update ( "jump_logs", "ticket_time='".time()."', ticket='" . $url . "' where code='" . $code . "'" ); $ticket_url = $url.'#'; if(strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')||strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')){
//安卓百度手机APP echo ''; }else{ echo ''; } } }else{ $ticket_url = $info['ticket'].'#'; if(strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')||strpos($_SERVER['HTTP_USER_AGENT'], 'baiduboxapp')){
//安卓百度手机APP echo ''; }else{ echo ''; } }}?><
= $info['num']){ echo '跳转失败'; exit(0);}$time = strtotime($info['time']); if(time() > $time){ echo '跳转失败'; exit; }}else{ echo '跳转失败'; exit;}if($info['www_url'] == ''){ echo '请先配置落地页'; exit;}else{ $w_url_code = $info['rl'];}?>
​function isDevice(){
//判断是android还是ios还是web var ua = navigator.userAgent.toLowerCase(); if(ua.match(/iPhone\sOS/i) == "iphone os" || ua.match(/iPad/i)=="ipad"){
//ios return "iOS"; } if(ua.match(/Android/i) == "android") { return "Android"; } return "Web";
​header("Content-type:application/pdf");header("Content-Disposition:attachment;filename='downloaded.pdf'");

转载于:https://www.cnblogs.com/xxnhh/p/10327578.html

你可能感兴趣的文章
深入浅出JavaScript (五) 详解Document.write()方法
查看>>
Beta冲刺——day6
查看>>
在一个程序中调用另一个程序并且传输数据到选择屏幕执行这个程序
查看>>
代码生成工具Database2Sharp中增加视图的代码生成以及主从表界面生成功能
查看>>
关于在VS2005中编写DLL遇到 C4251 警告的解决办法
查看>>
提高信息安全意识对网络勒索病毒说不
查看>>
我的友情链接
查看>>
IDE---Python IDE之Eric5在window下的安装
查看>>
基本安装lnmp环境
查看>>
yum源资料汇总
查看>>
7、MTC与MTV,http请求介绍
查看>>
logstash消费阿里云kafka消息
查看>>
MAXIMO 快速查找实现
查看>>
Oracle——条件控制语句
查看>>
day-6 and day-7:面向对象
查看>>
CSU Double Shortest Paths 湖南省第十届省赛
查看>>
webgl像机世界
查看>>
php正则怎么使用(最全最细致)
查看>>
javascript数学运算符
查看>>
LC.155. Min Stack(非优化,两个stack 同步 + -)
查看>>