问题
网站上挂了谷歌广告(google adsense),如何即时知道用户是否点击以及点击的次数呢?以方便程序进行下一步动作。
算法设计
谷歌广告加载流程:在头部添加谷歌广告拉取的js链接。然后在需要显示的地方使用<ins>标签放置广告位。广告拉去链接中的js 会拉去广告并显示在<ins>中。渲染完后就是<ins>里面包裹了一个<iframe>页面。
懂js的同学都知道,iframe是另外一个页面,里面触发的事件是不能冒泡到父级页面的
所以鼠标进入iframe后我们是监听不到的,但是iframe是嵌入在父级页面的,所以它的坐标肯定在页面中。iframe 打开的广告页面是另外一个页面。父级页面的可见性会发生变化。
所以可以设计如下算法
1、监听鼠标的位置,判断鼠标是否在页面中
2、鼠标在页面中,并且当前页面变得不可见,说明点击打开了广告
3、鼠标在页面中,页面变得可见,说明从广告页面回来了,完成了一次点击
综上,就可以实现即时统计广告点击次数
实现代码源文件下载地址:
https://item.taobao.com/item.htm?id=794073993214&spm=a213gs.v2success.0.0.422748314Ph1qZ 作者:bili_81133968722 https://www.bilibili.com/read/cv34374836/ 出处:bilibili