0%
跨页面(tab/window)通信的几种方法
今天开发一个功能遇到一个需求,在页面 A 点击查看详情后在页面 B 进行审核,审核后页面 B 关闭,然后刷新页面 A 的数据。思路大概就是:
使用 webSocket
进行通讯
但是这样,工作量是巨大的,而且还需要后端支持。太麻烦了,对于我这种懒人来说,直接就放弃了。
写个定时器,不断检查 Cookies
的变化
然后在stackoverflow看到一个方案,大致思路是:
- 在页面A设置一个使用
setInterval
定时器不断刷新,检查Cookies
的值是否发生变化,如果变化就进行刷新的操作。 由于
Cookies
是在同域可读的,所以在页面 B 审核的时候改变Cookies
的值,页面 A 自然是可以拿到的。
这样做确实可以实现我想要的功能,但是这样的方法相当浪费资源。虽然在这个性能过盛的时代,浪费不浪费也感觉不出来,但是这种实现方案,确实不够优(zhāng)雅(bī)。
纯CSS实现涟漪按钮效果
涟漪按钮:顾名思义,就是点击按钮的时候,有一个圆圈扩散开来,就像水面的涟漪。效果如下:
看上去非常简单的效果,就是点击的时候一个圆圈从小变大,于此同时透明度从半透明变为透明。
常见的方式是使用javascript
:
- 监听鼠标的点击事件,当点击按钮的时候,追加一个圆形的
dom
- 改变
dom
的大小,直至完全覆盖按钮 - 移除按钮
Clean JavaScript:写出整洁的JavaScript代码
介绍
作者根据Robert C. Martin《代码整洁之道》总结了适用于JavaScript的软件工程原则《Clean Code JavaScript》。
本文是对其的翻译。原文地址:alivebao。