微信自动跳转到浏览器

文章转载自:https://openclub.alipay.com/read.php?tid=4141&fid=62   

感谢作者的分享,如有侵权请及时与我联系



本经验是在微信中,用户点击支付直接跳转到浏览器中进行WAP支付,或者用扫码的形式变种成H5支付(因为支付宝的扫码付自身就带H5支付,可以通过截取代码演变)。下面就具体说一下操作方法把。 


用户在微信中操作支付,比如A页面用户点击了支付,此时跳转到B页面,将相关参数携带给B页面(最好将相关参数进行BASE64等加密),B页面判断如果是在微信的环境中给出以下头部 

header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename='downloaded.pdf'");

此时微信会因为头部是下载处理,自动跳转到浏览器中打开这个链接,此时B页面会被在浏览器中重新打开。然后B页面做的有判断是否为微信中打开,此时你只需要处理不再微信中打开的操作就行了,你可以进行跳转,或者进行其他操作等等。。。 


以下是PHP代码,A页面携带参数跳转B页面的代码 


if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
  
    header("Content-type:application/pdf");
    header("Content-Disposition:attachment;filename='downloaded.pdf'");
}else{
  
    $url = base64_decode($_GET['url']);
    header('location:'.$url);
}


希望官方开发文档中解决方案可以收纳。造福大家,气死微信哈哈
给个动态图自己看: 


以上方法只是用PHP做的一个header头部响应为PDF下载文件,例如JAVA,.NET,Python等都可以的。主要就是让服务端返回一个PDF下载就行了,这样微信就会直接跳出到浏览器打开,剩下的自己联想把

你可能感兴趣的:(微信)