注意

微信小程序基础库从 1.6.4 开始支持已支持 webview 嵌入
https://mp.weixin.qq.com/debug/wxadoc/dev/component/web-view.html

所以以下两种解决方案,可以忽略。

第一种:

https://github.com/icindy/wxParse

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

第二种:

在服务器上 使用phantomjs,客户端将要渲染的 HTML,或者 URL post 给服务器,服务器通过 phatomjs 生成图片,返回给客户端显示。

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

phatomjs 渲染成图片的方法:
http://phantomjs.org/screen-capture.html

PHPer 可以看这个封装:
https://github.com/jonnnnyw/php-phantomjs/

总结

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

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

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

forme.png

官方文档

推荐一个很棒的第三方精简的 Laravel console

个人喜好经常写些命令行工具,laravel 很方便,但脚手架工程就 45M左右,使用 composer install --no-dev 也要24M左右,很笨重。 也尝试过 symfony 的 compos...

阅读全文

有关 PHP 和 js 浮点运算的坑

javascript 0.1 + 0.2 为啥不等于 0.3 ? (正确结果:0.30000000000000004) 0.8 * 7 为啥不等于 5.6 ? (正确结果:5.6000000000000005) PHP var_dump(intv...

阅读全文

彻底搞懂 PHP 变量结构体,多数文章观点不准确

PHP5 中的 zval // 1. zval typedef struct _zval_struct { zvalue_value value; zend_uint refcount__gc; zend_uchar type; zend_uchar is...

阅读全文

2 条评论

欢迎留言