微信公众号排版的135等编辑器,里面的特效是用的什么做的?

微信公众号排版的135等编辑器,里面的特效是用的什么做的?

这里是 e2.cool 编辑器,专注于微信公众号的特效交互设计,在我们官网你就可以直接看到 300+ 种排版特效的应用。

那么问题来了,这些特效是基于什么技术范式运作的?官方来为你解答。

微信内的互动范式分为 CSS3 和 SVG 两种,他们分别是基于 HTML 框架 和 XML 框架的交互模型,且都不需要 JS。其中 CSS3 侧重于如滑动类型的互动,SVG 则侧重更多样的基于点击、长按、松开、滑屏引发的动画特性。

CSS3 的发展史大家已经非常熟悉了,SVG 则可能不太为人所知。其实 SVG 和 XML 是同时代产物,SVG 本身的渲染也是通过 CSS 完成的,只不过它和迭代到当今的 CSS3 有巨大差异,属于古典风的代码结构而已。

但 SVG 的应用是要耗费大量手机渲染资源的,如果把一切 SVG 可行的 CSS 特效都引入微信图文,毫无疑问你打开文章的体验会卡到比 H5 还要慢。因此在 2016 年我们平台的核心技术组和微信团队共同研究并发布了「SVG AttibuteName 白名单」,当时历史性的一刻被记录在这篇发布里:

不过到了 2021 年,这个白名单已经发生了部分变化,请参看:

截止到这则回答时,包括 <embed> 这一漏洞(可突破所有微信公众号平台规则,包括导入 JS、json、Lottie 等交互动画)也已经被微信官方基本封堵。主要原因是部分开发者和编辑器基于该漏洞大量恶意开发,对抗微信公众平台官方。所以目前来说,白名单成为了唯一的开发标准,所谓「灰名单」也不复存在。

现在,相信你已经了解这种技术范式的发展史。而它可实现的效果则是玲琅满目的,这里可以参考我们核心技术团队的案例集体验:

想看更多单体效果?可以关注公众号「黑科技编辑器」,下方自定义菜单内包含了各色的组件预览和使用教学视频噢!

任何公众号运营中的疑难杂症,都欢迎邀请我们回答哦。

这里是 E2 编辑器(e2.cool),会的比别人多一点。