资讯专栏INFORMATION COLUMN

JS PopUnder 原理研究:初探

caige / 2887人阅读

摘要:到现在,已经不能随意地给用户弹出窗口了。现在网上能明确实现这个功能的,都开了公司在卖代码了,分别是这两个价格非常之贵,美元年起步。如果是广告平台用,那就是美元年。这么一个小小的功能,就能卖如此之贵,可见其商业价值。

popunder 技术是用来在用户正在浏览网页时,后台偷偷打开一个窗口并加载广告。

这项技术看似简单,实际上却很复杂,涉及到多浏览器兼容,以及相同浏览器不同版本的实现方式也不一样。

之所以如此,是因为直接给用户弹出窗口会极大地影响用户体验,并且这种技术被广泛地用于各种 malvertising,已经构成了对用户的骚扰。所以基本上各大浏览器都在不断地限制 pop 的方式。到现在,已经不能随意地给用户弹出窗口了。

那么,如何实现呢?

在研究 popunder 的时候查阅了想关资料,下面是部分有用的代码:

https://gist.github.com/cam-g...
https://stackoverflow.com/que...

这些代码都是几年前的,基本上都是当时有用,现在则失效了。
它们的原理包括以下几点:

调用 window.open 方法打开新窗口

构造点击事件,触发响应函数,再调用 window.open

监听全屏点击事件,触发响应函数,顺势调用 window.open

这三者的不同在于,第1、2条方法理论上可以无限地 popunder,而第3条则只能在用户点击了网页的时候再 pop 一个窗口出来。

当然,仅仅如此是不够的,这样弹出来的窗口会遮住用户,极大影响用户体验,用户会立即关闭这个广告,弹了还不如不弹。

如何不打断用户的浏览?

所以真正的弹窗,也就是 popunder,是在后台悄悄地弹出来,等用户看完这个页面并关闭之后,才会看到那个广告页面。

其实现在后台弹窗已经不太可能了,更常用的做法是这样的,用户在浏览A网页,不小心点了一下,A弹出一个B网页,此时主窗口由A切换到了B,然后使用某种奇淫巧技,迅速地,把主窗口切换回A。

这是重点,也是各大浏览器重点关照的地方,在浏览器的早期,是可以用 window.focus() 把当前窗口切换回来的,但后来也不行了。

现状

也就是说,想正儿八经地实现 popunder,在新版的浏览器上已经不可能了,所以这是个难点,一旦实现出来,就可以靠卖服务赚钱了。

现在网上能明确实现这个功能的,都开了公司在卖代码了,分别是这两个:
http://popunderjs.com/
https://getpopunder.com/

价格非常之贵,199 美元/年 起步。如果是广告平台用,那就是 999 美元/年。这么一个小小的功能,就能卖如此之贵,可见其商业价值。

好了,今天先讲这些,下次再讲讲研究 popunder 过程中的逆向和反逆向

接下来是广告时间:
我的简书:http://www.jianshu.com/u/0708...
我的知乎:https://www.zhihu.com/people/...
我的公众号:OutOfRange

有事欢迎骚扰 ~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88858.html

相关文章

  • PopUnder 研究:Javascript逆向与反逆向

    摘要:原来在上是有开源代码的,但后来估计作者发现这个需求巨大的商业价值,索性不开源了,直接收费。所以现在要研究它的实现方案,只能上官网扒它源码了。但是,它源代码是这样的可见源代码是根本不可能阅读的,所以还是得想办法破掉它的反逆向措施。 缘起 最近在研究 PopUnder 的实现方案,通过 Google 搜索 js popunder 出来的第一页中有个网站 popunderjs.com,当时看...

    leon 评论0 收藏0
  • 面试分享:一年经验初探阿里巴巴前端社招

    摘要:三轮技术面上一轮发挥感觉没前两轮发挥好,所以还是有点不自信的,没想到第三天后,就来电话了,通知我去阿里园区面试。 一般阿里社招都是招3-5年的P6+高级工程师,当初自己一年经验也没有想过有这个面试机会。 虽然没想着换工作,但是经常关注一些招聘网站的信息,某一天,在某boss上有个人找我,叫我发一下简历,我一看是阿里的某技术专家,虽然之前也有阿里的在某boss上给我要简历,但是我深知自己...

    ACb0y 评论0 收藏0
  • 面试分享:一年经验初探阿里巴巴前端社招

    摘要:三轮技术面上一轮发挥感觉没前两轮发挥好,所以还是有点不自信的,没想到第三天后,就来电话了,通知我去阿里园区面试。 一般阿里社招都是招3-5年的P6+高级工程师,当初自己一年经验也没有想过有这个面试机会。 虽然没想着换工作,但是经常关注一些招聘网站的信息,某一天,在某boss上有个人找我,叫我发一下简历,我一看是阿里的某技术专家,虽然之前也有阿里的在某boss上给我要简历,但是我深知自己...

    wuyumin 评论0 收藏0
  • 跨平台开发框架 Lynx 初探

    摘要:跨平台开发是目前开发较热门的方向,在这方面取得了很大的成功,同时也获得了非常多的关注。最近发现了跨平台的一个新框架,从官方简介来看这个框架还处于状态,目前还没有完整的文档,只有体验。希望能有更多的跨平台开发框架出现,推动技术的发展。 跨平台开发是目前开发较热门的方向,React Native 在这方面取得了很大的成功,同时 Flutter 也获得了非常多的关注。React Native...

    jsyzchen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<