一、鸣谢在先
感谢热心网友 @马越
提供的方案!
二、大家如何升级
- 删掉之前对Android和iOS的hook模式
- 删掉
wxjs
文件的引用 - 删掉
Api.hook
的所有调用
- 删掉
- 下载最新的
WeixinApi.js
,目前版本4.0
- 为了确保无缓存,可手动给WeixinApi.js的引用加上
?v=4.0
的版本戳 - 部署代码,It works!
三、免责声明
使用过程中如果遇到问题,可以到github
或者本站
留言,我可以抽时间帮大家分析问题.
但是
:
感谢热心网友 @马越
提供的方案!
wxjs
文件的引用Api.hook
的所有调用WeixinApi.js
,目前版本4.0
?v=4.0
的版本戳使用过程中如果遇到问题,可以到github
或者本站
留言,我可以抽时间帮大家分析问题.
但是
:
接上一个公告
,还不了解背景的,最好先去看看,别问我太多问题,Thx。
当然,也可以去看看zxlie/WeixinApi
上大家的讨论,虽然看起来都很慌乱,但是也都看看吧,反正本次微信官方整这事儿略微粗暴
了点儿!
既然如此,咱也不能一直等着官方恢复,何况人家是否会恢复
咱也不知道,为了解决点儿大家的难题,我还是花点儿时间,尽我所能帮大家升级一下吧!
之前有写过几篇关于微信内置浏览器(WebView)中特有的Javascript API(Javascript Interface)的文章,不过随着微信官方的调整,部分API已经不能直接使用,比如类似直接分享到朋友圈 WeixinJSBridge.invoke('shareTimeline',data,callback) 这样的功能,直接调用,会得到一个访问拒绝的response。后来重新调研了下,整理出来了一个WeixinAPI的Javascript类库,分享出来,如果你对微信公众平台开发感兴趣,应该对你有用。
之前写了一篇关于这个WeixinJSBridge API的文章,文章地址 ,于是有很多网友都在过来咨询这个API的使用,在这里有必要跟大家再说一下:这个API在以前公布的部分接口被官方和谐掉很久了, 比如一键关注、分享给好友、分享到朋友圈等。当然,你可能会发现微信官方推送的一些文章还能使用这些功能,粗略估计,官方是对这个API增加了白名单控制,判断Referer,如果是微信官方的地址、或者是有合作的商家地址,则允许调用,否则,返回“access denied”!
在微信上,通过公众平台推送给用户的文章,是在微信内部直接打开的,用的无外乎就是一个UIWebView控件(IOS上,Android上也差不多)。但特殊的是,微信官方在这里面加了一个默认的Js API--WeixinJSBridge,通过它,能直接在该页面上做这些操作:
1、将文章分享到微信朋友圈
2、将文章直接发送给微信上的好友
3、将文章分享到腾讯微博
4、关注指定用户