使用方法,复制以下贴到index.php 顶部就可以了.
场景 比如网页包含视频播放  在QQ\WX打开QQ\WX直接调用自己的播放器播放,而且播放完成还有AD推送,非常恶心,所以有了以下代码有乱码的话说明你网页是GBK  自行转换下

  1. <?php
  2. function qqwx(){
  3. if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
  4. echo '<!DOCTYPE html>
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Language" content="zh-CN">
  8. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  9. <meta id="viewport" name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=0" />
  10. <meta content="telephone=no" name="format-detection" />
  11. <title>提示</title>
  12. <style>
  13. html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{line-height:1.6;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px}body,h1,h2,h3,h4,h5,p,ul,ol,dl,dd,fieldset,textarea{margin:0}fieldset,legend,textarea,input,button{padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;*font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}ul,ol{padding-left:0;list-style-type:none;list-style-position:inside}a img,fieldset{border:0}a{text-decoration:none}
  14. body{
  15. color:#222;
  16. font-size: 12px;
  17. padding: 120px 15px 20px;
  18. text-align:center;
  19. }
  20. h3{
  21. font-size: 18px;
  22. font-weight: normal;
  23. margin-bottom: 13px;
  24. }
  25. .url{
  26. padding: 5px 0;
  27. word-break:break-all;
  28. }
  29. </style>
  30. </head>
  31. <body url="http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'">
  32. <div class="">
  33. <h3>请长按网址复制后使用浏览器访问</h3>
  34. <div id="url" class="url"></div>
  35. </div>
  36. <script>
  37. var text = document.createTextNode(document.body.getAttribute("url").replace(/&/g, "&"));
  38. document.getElementById("url").appendChild(text);
  39. </script>
  40. </body>
  41. </html>';
  42. exit();     }
  43. if ( strpos($_SERVER['HTTP_USER_AGENT'], 'QQ/') !== false ) {
  44. echo '<!DOCTYPE html>
  45. <html>
  46. <head>
  47. <script src="https://open.mobile.qq.com/sdk/qqapi.js?_bid=152"></script>
  48. <script type="text/javascript"> mqq.ui.openUrl({ target: 2,url: "http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'"}); </script>
  49. <meta http-equiv="Content-Language" content="zh-CN">
  50. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  51. <meta id="viewport" name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=0" />
  52. <meta content="telephone=no" name="format-detection" />
  53. <title>提示</title>
  54. <style>
  55. html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{line-height:1.6;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px}body,h1,h2,h3,h4,h5,p,ul,ol,dl,dd,fieldset,textarea{margin:0}fieldset,legend,textarea,input,button{padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;*font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}ul,ol{padding-left:0;list-style-type:none;list-style-position:inside}a img,fieldset{border:0}a{text-decoration:none}
  56. body{
  57. color:#222;
  58. font-size: 12px;
  59. padding: 120px 15px 20px;
  60. text-align:center;
  61. }
  62. h3{
  63. font-size: 18px;
  64. font-weight: normal;
  65. margin-bottom: 13px;
  66. }
  67. .url{
  68. padding: 5px 0;
  69. word-break:break-all;
  70. }
  71. </style>
  72. </head>
  73. <body url="http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'">
  74. <div class="">
  75. <h3>如需浏览,请长按网址复制后使用浏览器访问</h3>
  76. <div id="url" class="url"></div>
  77. </div>
  78. <script>
  79. var text = document.createTextNode(document.body.getAttribute("url").replace(/&/g, "&"));
  80. document.getElementById("url").appendChild(text);
  81. </script>
  82. </body>
  83. </html>';
  84. exit();
  85. }
  86. }
  87. qqwx();
  88. ?>

JS如何实现在微信中调用外部浏览器打开指定链接的更多相关文章

  1. 微信公众号调用外部浏览器打开指定URL链接是如何实现的

    在涉及移动端支付的项目时,由于对支付需求的精细化,不仅需要扫码支付,还有唤醒App支付,另外还有在微信.QQ.支付宝内置浏览器给出相应的提示. 好在国内各大巨头公司在开发浏览器的时候都在浏览器标识上加 ...

  2. 微信跳转外部浏览器打开指定H5链接的功能源码

    通常大家在微信内转发分享H5链接的时候都很容易碰到H5链接在微信内无法打开或在微信内无法打开app下载页的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要 ...

  3. 微信中H5网页如何唤醒打开外部浏览器打开指定链接

    最近遇到一个需求.朋友找我制作一个在微信中的聊天框,或者公众号菜单发布一条链接或者二维码.跳出微信打开一个指定的我们自己的页面, 拿到这个需求后我们团队分开去找资料研究方案,通过微信的开发文档.腾讯的 ...

  4. 微信内点击链接或扫描二维码可直接用外部浏览器打开H5链接的解决方案

    很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难,只要我们使用微信跳转浏览器接口实现跳转功能即可. 简单的处理方案 1. 用浏览器打开我们需要用到的 ...

  5. 微信中打开链接,自动打开外部浏览器打开指定URL页面

    上半年公司有一个新的APP项目上线,我们在项目首页做个二维码,然后用户用手机扫一扫就能下载了.但是很多用户反映扫一扫之后下载不了,了解之后才知道这些用户都是使用的微信的扫一扫,而我们开发测试人员一般使 ...

  6. (转)AppCan中调用系统浏览器打开网页

    <!DOCTYPE html> <html> <head> <style>body{ background:#fff; font-size:30px;} ...

  7. 微信跳转外部浏览器下载app

    很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接和下载APP,其实这并不难,只要我们实现微信跳转功能即可.下面给大家介绍这个功能 方案实现教程:http://sk ...

  8. 微信跳转外部浏览器下载app原理

    在我们使用微信营销的时候,很容易碰到推广连接在微信内无法打开或无法下载app的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要有以下三点 1.网页链接被举 ...

  9. 如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样)

    如何在Python脚本中调用外部命令(就像在linux shell或Windows命令提示符下输入一样) python标准库中的subprocess可以解决这个问题. from subprocess ...

随机推荐

  1. Devexpress WinForm TreeList的三种数据绑定方式(DataSource绑定、AppendNode添加节点、VirtualTreeGetChildNodes(虚拟树加载模式))

    第一种:DataSource绑定,这种绑定方式需要设置TreeList的ParentFieldName和KeyFieldName两个属性,这里需要注意的是KeyFieldName的值必须是唯一的. 代 ...

  2. 数据库(mysql和oracle)

    1.   mysql索引:    https://www.jikewenku.com/22030.html 2.

  3. SQL Prompt 注册后隔一段时间莫名无法使用的处理

    https://blog.csdn.net/anyqu/article/details/88537197 以前一直以为是授权丢了,反复重装也解决不了 Sql Prompt---Unable to co ...

  4. StoneTab标签页CAD插件 3.2.2

    //////////////////////////////////////////////////////////////////////////////////////////////////// ...

  5. mbedtls 入门

    mbedtls 入门 https://segmentfault.com/a/1190000012007117 ARM mbedtls使开发人员可以非常轻松地在嵌入式产品中加入加密和SSL/TLS功能. ...

  6. 【ES6 】ES6 解构赋值--对象解构赋值

    对象的解构与数组有一个重要的不同. 数组的元素是按次序排列的,变量的取值由它的位置决定 而对象的属性没有次序,变量必须与属性同名,才能取到正确的值. 基本用法 如果解构失败,变量的值等于undefin ...

  7. mysql 添加grant权限

    GRANT USAGE ON *.* TO 'xxxx'@'x.%.%.%' WITH GRANT OPTION;

  8. 学习cesium,关于图层界面的切换

    最近学习cesium的3D引擎,有关图层切换的例子比较少,在官网上看见了一些例子加以自己的理解.投机了一种近似于图层切换的效果. 这种图层切换每次点击按钮时,会把其他的数据和实体给删除.然后再创建或加 ...

  9. 如何部署自定义的servlet

    1 首先找到与exlipse绑定的tomcat安装位置 2 打开web.xml添加如下信息: <display-name>servletDemo</display-name> ...

  10. datagrid如何获取选中行的索引

    //datagrid获取选中行 var row =baseSelectgrid.datagrid('getSelected'); // 获取被选中行的索引 index var index=baseSe ...