微信公众号与HTML 5混合模式揭秘5——JSSDK开发技巧1
微信公众号与HTML 5混合模式揭秘1——如何部署JSSDK
微信公众号与HTML 5混合模式揭秘2——分享手机相册中照片
微信公众号与HTML 5混合模式揭秘3——JSSDK获取地理位置
微信公众号与HTML 5混合模式揭秘4——jssdk调用微信扫一扫
在目前的微信浏览器中,有的版本不支持APP Store页面,估计是微信浏览器有什么限制或者有什么利益冲突吧,但是以腾讯的开放程度来看没必要限制。
例如在页面中写个如下的代码:
01 href="https://itunes.apple.com/cn/app/wo-ai/id955760733?mt=8">download</a>
以上代码,在微信浏览器内点击的时候,会出现没有任何相应的bug,但是如果此地址变为360、百度等链接地址,那么就会没问题。
解决这个问题的主要方案就是在微信浏览器内,利用微信的API。
第1步,判断浏览器是否为微信浏览器,JS代码如下:
01 varisWechat = function (){
02 var ua = navigator.userAgent.toLowerCase();
03 if(ua.match(/MicroMessenger/i)=="micromessenger") {
04 return true;
05 } else {
06 return false;
07 }
08 }
当然,您也可以采用上一节介绍的后台语言(PHP、Ruby、nodejs等)判断浏览器是否为微信浏览器。
第2步,将原来的链接,利用“encodeURIComponent”编码,结合“http://mp.weixin.qq.com/mp/redirect?url=”生成新的链接地址,结果如下:
01 "http://mp.weixin.qq.com/mp/redirect?url=https%3A%2F%2Fitunes.apple.com%2Fcn%2Fapp02 %2Fwo-ai%2Fid955760733%3Fmt%3D8"
第3步,完整的示例代码方法如下:
01 <!DOCTYPEhtml>
02 <htmllang="en">
03 <head>
04 <meta charset="UTF-8">
05 <title>第12章 12.2节</title>
06 </head>
07 <body>
08 <h1style="font-size: 40px">:)</h1>
09 <bstyle="font-size: 20px">App Store Demo!</b>
10 <pstyle="font-size: 20px" id="conversionUrl"></p>
11 <scripttype="text/javascript">
12 var isWechat = function(){
13 var ua =navigator.userAgent.toLowerCase(); //获取浏览器字符
14 if(ua.match(/MicroMessenger/i)=="micromessenger") { //判断是否为微信
15 return true;
16 } else {
17 return false;
18 }
19 },
20 conversionUrl = function(url){ //根据浏览器类型转换url
21 if(isWechat()){
22 return
23 "http://mp.weixin.qq.com/mp/redirect?url="+encodeURIComponent(url);//转换为微信内可用的24 地址
25 }else{
26 return url; //不转换
27 }
28 },
29 _url =
30 conversionUrl("https://itunes.apple.com/cn/app/wo-ai/id955760733?mt=8");
31 window.onload = function(){ //页面载入成功后修改dom
32 document.getElementById("conversionUrl").innerHTML = "转换之后的url:"+_url;
33 }
34 </script>
35 </body>
36 </html>
摘自
微信公众号与HTML 5混合模式揭秘5——JSSDK开发技巧1的更多相关文章
- 【原创】微信公众号与HTML 5混合模式揭秘4——jssdk调用微信扫一扫
微信公众号与HTML 5混合模式揭秘1——如何部署JSSDK 微信公众号与HTML 5混合模式揭秘2——分享手机相册中照片 微信公众号与HTML 5混合模式揭秘3——JSSDK获取地理位置 在JS ...
- 【原创】微信公众号与HTML 5混合模式揭秘3——JSSDK获取地理位置
微信公众号与HTML 5混合模式揭秘1——如何部署JSSDK 微信公众号与HTML 5混合模式揭秘2——分享手机相册中照片 JSSDK为开发者提供了两个位置API服务:获取地理位置和使用微信内置地图查 ...
- 微信公众号与HTML 5混合模式揭秘1——如何部署JSSDK
本文是连载JSSDK+H5的书,这里是第一篇揭秘————如何部署JSSDK 部署JSSDK不会太难,有时候需要一点后台知识,但也不是太难的那种,本节主要是用PHP作为后台参考语言,为了照顾初学者,把代 ...
- 微信公众号与HTML 5混合模式揭秘2——分享手机相册中照片
本书是分享微信jssdk开发的第二篇. 4.2.1 项目需求 需求说明:实现微信端的手机用户,点击按钮选取1张图片,分享到朋友圈. 4.2.2 需求分解 通过对需求的了解,可以将其分解为: ( ...
- Django + Apache + 树莓派 搭建内网微信公众号服务器
其实早在微信开放公众号开发平台时就想弄一个自己的公众号服务器,奈何对web服务器搭建和开发一窍不通,只是注册了一下开发者帐号,并没有采取行动,万恶的拖延症. 前一年,开始接触python,打开了神奇世 ...
- Java开发微信公众号(五)---微信开发中如何获取access_token以及缓存access_token
获取access_token是微信api最重要的一个部分,因为调用其他api很多都需要用到access_token.比如自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等在请求的时候 ...
- Java开发微信公众号(四)---微信服务器post消息体的接收及消息的处理
在前几节文章中我们讲述了微信公众号环境的搭建.如何接入微信公众平台.以及微信服务器请求消息,响应消息,事件消息以及工具处理类的封装:接下来我们重点说一下-微信服务器post消息体的接收及消息的处理,这 ...
- Java开发微信公众号(三)---微信服务器请求消息,响应消息,事件消息以及工具处理类的封装
在前面几篇文章我们讲了微信公众号环境的配置 和微信公众号服务的接入,接下来我们来说一下微信服务器请求消息,响应消息以及事件消息的相关内容,首先我们来分析一下消息类型和返回xml格式及实体类的封装. ( ...
- Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发
接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...
随机推荐
- 安装tensorflow-gpu出现的问题
1.Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/l ...
- Thrift之代码生成器Compiler原理及源码详细解析1
我的新浪微博:http://weibo.com/freshairbrucewoo. 欢迎大家相互交流,共同提高技术. 又很久没有写博客了,最近忙着研究GlusterFS,本来周末打算写几篇博客的,但是 ...
- c++ _宏与内联函数
第一部分:宏为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方.这种转移操作要求在转去执行前要保存现场并 ...
- c++中IO输入输出流总结<二>
1 文件的打开和关闭 1.1 定义流对象 ifsteam iflie;//文件输入流对象 ifsteam iflie;//文件输出流对象 fsteam iflie;//文件输入输出流对象 1.2 打开 ...
- Appium测试环境搭建实践
一.环境准备 1. JDK环境配置 a)下载并安装JDK http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138 ...
- 洛谷 - P5429 - Fence Planning - 并查集
https://www.luogu.org/problemnew/show/P5429 很明显是要维护整个连通块的共同性质,并查集一搞就完事了. #include<bits/stdc++.h&g ...
- 668. Kth Smallest Number in Multiplication Table
Nearly every one have used the Multiplication Table. But could you find out the k-th smallest number ...
- Codeforces710C【数学】
n阶幻方问题::http://blog.csdn.net/fengchaokobe/article/details/7437767 学一下就好啦~ 奇幻七绝 先填上行正中央, 依次斜填切莫忘. 上格没 ...
- [Xcode 实际操作]九、实用进阶-(7)使用Xcode的版本管理功能(SCM)
目录:[Swift]Xcode实际操作 本文将演示系统的版本控制功能. 软件配置管理(SCM):Software configuration management 是指通过执行版本控制.变更控制的规程 ...
- 15.split分割注意事项
1.v = 'k1,v1- k2,v2- k3,v3-'变成一个字典{'k1':'v1','k2':'v2','k3:'v3'...} 变成一个字典 {'k1':'v1','k2':'v2','k3: ...