热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

api微信内置浏览器js_微信内置浏览器的JsAPI(WeixinJSBridge续)_Alien的笔记

以前有写过几篇关于微信内置浏览器(WebView)中特有的JavascriptAPI(JavascriptInterface)的文章,不过随着微信官方的调整ÿ

以前有写过几篇关于微信内置浏览器(WebView)中特有的Javascript API(Javascript Interface)的文章,不过随着微信官方的调整,部分API已经不能直接使用,好比相似直接分享到朋友圈 WeixinJSBridge.invoke('shareTimeline',data,callback) 这样的功能,直接调用,会获得一个访问拒绝的response。后来从新调研了下,整理出来了一个WeixinAPI的Javascript类库,分享出来,若是你对微信公众平台开发感兴趣,应该对你有用。前端

下面,咱们先来看一下这些API都应该怎么使用,先从最简单的入手。git

一、假如我但愿一打开网页后,就隐藏掉右上角的PopUp菜单入口,而且隐藏掉浏览器下方的工具栏,同时还要得到当前的网络状态,那么,咱们的代码能够这样来写:github

如示例代码中的注释所示,全部的功能执行必须放在 WeixinApi.ready 方法中执行,就比如你用jQuery的时候,一般都须要使用 jQuery(document).ready(function(){ }) 同样。为何要这样作?相信不用我解释你们都能明白,由于咱们必需要保证在执行这些方法的时候,WeixinJsBridge API已经被加入到WebView上了!ajax

二、再来看一个有关分享的例子,假如用户在阅读个人文章(或在使用个人产品)的过程当中,发现它颇有意思或有价值,通常都会将其收藏或分享(给好友、朋友圈、微博等)出去,那如今我就但愿能监测到用户的分享行为,好比:自定义用户可分享的内容、甚至是在用户分享之、分享被取消、分享失败、分享成功、以及整个分享操做过程结束,咱们都去作点儿什么。那么,这个代码咱们能够这样来写:浏览器

三、固然,若是你的业务需求至关复杂,好比,你的产品就是一个微信网页游戏(相似“2048数字游戏微信版”),你但愿用户分享出去的数据是一个网页截屏、或者须要将用户当前的游戏状态回传到服务器动态生成可分享的内容;那么这种状况咱们又该怎么作呢?来看下面这个示例代码吧:服务器

惟一的区别就是在wxCallbacks中,增长了配置项async为true,表示这个分享过程是异步调用的,其实就是指的ready方法异步执行,在这种状况下,咱们须要在ready方法中显式地调用wxCallbacks的dataLoaded方法,以保证分享过程能继续往下执行。也许你会发现,这个wxCallbacks中,根本就没有配置dataLoaded方法啊!是的,当async为true时,WeixinApi中我会自动对其进行初始化,dataLoaded方法须要一个参数,表示须要分享出去的数据!微信

四、固然,若是你非要去配置dataLoaded方法,也是没有问题的,你的配置也会被执行,不会被覆盖,执行顺序是:用户配置优先。网络

上面是直接给出使用方法,也许你如今开始关心每一个方法的参数列表是什么样的了?咱们以分享到朋友圈的方法为例,来看看参数都有哪些配置项:app

分享给微信好友以及分享到腾讯微博的参数列表都同样,这里就不罗列了。

五、若是你的文章中有不少图片,那么,点击图片直接调起微信客户端自带的图片播放组件,那必然是一件好事;对此,你能够这样来作:

就这么一段儿简单的代码,一切都搞定了!不过,须要指出的是,Api.imagePreview的参数是会进行强检测的:

须要指出的是,微信公众平台对Android、iOS平台支持力度不统一,比较费劲,具体有:

iOS平台下,分享出去的数据wxData中,imageUrl能够是DataURI格式的;但在Android平台下,必须是全路径的图片地址

iOS平台下,分享的回调callback基本全均可以获得执行;但在Android平台下,分享到微信朋友圈的callback没法获得执行(ready方法除外)

iOS平台下,没法在非mp.weixin.qq.com域下的页面中经过WeixinJSBridge.invoke('profile')的方式打开某微信号的资料页面;Android平台下则能够经过的方式打开资料页;WinPhone下,则是经过的方式打开。

期待官方能早日实现各平台API的统一吧!!!

至于API内部是怎么实现的,若是感兴趣,那就看源码吧,使用过程当中如遇到什么Bug,请来这里反馈。

为了便于Api的维护与共享,已将其放到Github上了,你们这里走起:https://github.com/zxlie/WeixinApi



推荐阅读
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 深入解析 Vue 中的 Axios 请求库
    本文深入探讨了 Vue 中的 Axios 请求库,详细解析了其核心功能与使用方法。Axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js 环境。文章首先介绍了 Axios 的基本概念,随后通过具体示例展示了如何在 Vue 项目中集成和使用 Axios 进行数据请求。无论你是初学者还是有经验的开发者,本文都能为你解决 Vue.js 相关问题提供有价值的参考。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 我收到这个错误.我怎么能在我的情况下解决这个问题?Bitmapcannotberesolvedtoatype发生错误的行publicvoidonPageStart ... [详细]
  • 资源:吊炸天!74款APP完整源码!android界面中点击输入框时弹出输入法如果输入框在底部会出现输入法遮挡输入内容的问题解决办法设置activity的windowsoftinpu ... [详细]
  • 在iOS开发中,`UIScrollView` 的滚动条显示与隐藏由两个关键属性控制,默认情况下,滚动条会在滚动时短暂显示,然后自动消失。通过设置 `showsHorizontalScrollIndicator` 和 `showsVerticalScrollIndicator` 属性为 `YES` 或 `NO`,可以强制始终显示或隐藏水平和垂直滚动条。此外,还可以通过 `indicatorStyle` 属性调整滚动条的样式,以适应不同的界面需求。这些属性的灵活运用能够显著提升用户体验。 ... [详细]
  • 如何在页面底部添加倾斜样式效果? ... [详细]
  • 安卓端开源移动浏览器开源项目
    进入android开发以来,webview用的比较多,后来又看了一些基于webview的浏览器代码,慢慢的将积累的东西做成了一个安卓移动浏 ... [详细]
  • webui之常用js操作(webui界面是什么)
    本文目录一览:1、web前端开发需要掌握的几个必备技术 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了预加载多个本地WebView相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
你永远不冫会懂我的心O_751
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有