微信小程序如何像webview一样加载html5网页

3,539 阅读1分钟

感觉微信官方不太可能开放这个功能,所以还是靠我们自己吧。有两种解决方法,第二种是我自己想的方案。

第一种:
github.com/icindy/wxPa…

第三方的简单实现,仅限于支持简单的标签解析,并渲染出来,不是真正的WebView,不能有 DOM 事件,js 特效。

第二种:
这个方案是我自己有过最佳实践的方案。你可以无偿任意使用,但请注明创意来源。
在服务器上 使用phantomjs,客户端将要渲染的 HTML,或者 URL post 给服务器,服务器通过 phatomjs 生成图片,返回给客户端显示。

这个方法,如果实时做,会有性能问题,对于一般不是很频繁的内容,建议在后端录入时,直接渲染图片后,保存图片路径。客户端需要显示的时候,直接加载图片。这个方法妙在可以显示任意复杂情况的富文本内容。

phatomjs 渲染成图片的方法:
phantomjs.org/screen-capt…

PHPer 可以看这个封装:
github.com/jonnnnyw/ph…

总结
如果只是简单的图文展示,自己也可以通过wx.request请求json数据,然后通过小程序的内部组件 view, image, text来完成渲染。

还有一种方式,去 hack 没开放的逻辑,应该也可以调用微信的 X5 内核,毕竟都是微信 APP 内部的功能。但这个意义也不大,因为上线是需要审核的,腾讯是明文规定禁止调用非开放接口,肯定审核无法通过。

期待后期能够开放这个能力,但或许永远都是期待…

原文:www.yinqisen.cn/blog-731.ht…