web跨页面通信的几种方式
|最近在处理一个weex三端的项目,在weex文档中提到,不同的 Weex 页面使用的是不同的执行环境,即使全局变量也是互相隔离的,官方推荐使用BroadcastChannel
来实现实现跨页面通信。由于移动端safri中BroadcastChannel
存在兼容问题,因此决定研究下web跨页面通信的其他方法。
最近在处理一个weex三端的项目,在weex文档中提到,不同的 Weex 页面使用的是不同的执行环境,即使全局变量也是互相隔离的,官方推荐使用BroadcastChannel
来实现实现跨页面通信。由于移动端safri中BroadcastChannel
存在兼容问题,因此决定研究下web跨页面通信的其他方法。
之前博客使用的是gulp
+ gulp-webpack
构建前端开发环境,存在无法支持热更新、无法自动同步文件hash等问题,因此在v0.5.0
版本对整个静态资源开发环境进行了重构,比较完整地实现了node服务端渲染项目中的前端开发环境,下面是整个开发环境的实现整理。
最近一直在搞flutter,遇见了使用flutter_webview_plugin
支持webview的需求,打算把博客链接放上去,后来发现配置的网页URL必须是https
的才行,由于之前站点一直没有升级https,因此需要首先解决这个问题。
下面是为站点申请免费的https证书的流程整理,实际操作之后,对于https的原理有了更清楚的认识。
EventLoop
即事件循环,是JavaScript单线程运行时实现异步非阻塞的原理,掌握EventLoop
是学习JavaScript必不可少的一个环节,本文将整理浏览器和NodeJS中的事件循环机制,并了解他们的差异。
JavaScript中的数据类型转换是一个很容易造成困惑的地方。本文是《你不知道的JavaScript(中)》类型转换相关的知识整理,强烈建议去看这本书。
很早之前在知乎上看见一个提问:大公司里怎样开发和部署前端代码?,其中张云龙(fis3作者)的回答十分精彩。但当时由于水平有限,接触到的业务和开发环境也比较简陋。现在公司推行微服务,前端静态资源也基于fis3进行开发环境搭建和部署,算是这个回答比较完整的实现。
现在,是时候思考一下静态资源部署的重要性了。
大概是去年还在豆腐重构web站点的时候,一项比较重要的工作就是防爬虫。当时做了一些比较简陋的防爬虫手段,也了解到了一些神奇的爬虫方式,puppeteer就是在那时候了解的。恰好最近有一个工作需求,需要为运营搭建自动化的工作流程,因此想到了puppeteer,决定尝试一下。
最近进行了一次前端渲染性能优化,遇见iOS中webview的innerHTML性能问题,总结一下。
最开始听到产品的Chrome插件需求时,由于用户较少,优先的关注点是功能的实现,并未过多考虑如何部署插件。每次更新都是提供一个压缩包,然后让用户使用开发者模式下加载本地压缩包的方式进行更新;后来用户逐渐增多,功能迭代也比较快,每次分发压缩包并重新安装,因此就有了插件自动更新的需求~
下面总结了两个插件实现的自动更新的一些整理和心得。