Skip to content

Latest commit

 

History

History
31 lines (16 loc) · 1.4 KB

README.md

File metadata and controls

31 lines (16 loc) · 1.4 KB

跨页面做"事件监听"

本篇主要介绍一个定制客户的变态的需求。

变态需求

事情是这样子的,一个课程,在点击购买的时候会弹出一个modal,modal中有一个同意协议的checkbox,旁边有一个查看协议按钮。只有先同意协议才能付款。既然已经是一个modal了,那么点击阅读协议的时候就不好再弹出一个modal,客户的需求是要求打开一个新的浏览器tab页,在新页面中有一个同意和取消按钮。要求在用户点击同意按钮的时候,协议阅读页面自动关闭,同时勾选原网页的checkbox;点击取消只关闭页面,不勾选checkbox。

问题分析

主要的问题在于:两个页面不能直接通过js进行点击事件的监。

怎么办?

但是两个页面共享本地存储啊。

这意味着什么?

意味着我在另外一个页面的操作,可以通过操作本地存储的值来让另一个页面知道我点击了什么啊。

然后呢?

然后我可以在原来的页面点击打开阅读协议页面的时候写一个监听本地数据变化的方法啊!

没有这个事件,怎么监听呢?

setInterval轮询啊!点击打开新页面的时候开始轮询,检测到数据变化,改变成某个值执行相应的方法去勾选checkbox,顺便把轮训关掉!

愉快的搞定了!

思考一下有什么问题呢?