如何识别网站是否显示模式弹出窗口?

时间:2018-08-05 03:25:20

标签: javascript html css

越来越多的网站正在使用模式弹出窗口。有时使用可以说是合理的,但是在我什至没有机会浏览一下将我带到他们网站的文章之前,我经常看到糟糕的UX,例如弹出窗口询问我的电子邮件地址。不用说,我正在做一个浏览器扩展来摆脱这些。

类似的扩展程序已使用的方法似乎是让用户识别该网站是否有不需要的模式弹出窗口,并在按下按钮时删除最可能的候选对象(例如最高的z-index)。如果没有更好的选择,这种设计就足够好了,但是我希望能够避免按下按钮的需求,只需检测网站是否显示模式弹出窗口

当前方法

  • 搜索令人讨厌的z-index 。通常,这些弹出窗口都使用1000或更高的Z索引进行编码,以确保无论做出其他任何设计决定,它们都位于顶部。虽然是一种很好的启发式方法,但这是不可靠的。
  • 检查html和body上的溢出属性。很多时候,网站在使用其弹出窗口时会禁用滚动功能,因此,如果无法滚动该网站,则强烈表明该网站存在。无论如何,我都在重新启用滚动功能,所以这实际上不是任何额外的工作。
  • 存储用户决定列入黑名单的网站的历史记录。如果不存在100%简便的方法,那么与每次都需要按一次按钮相比,这仍然是一个改进。

TLDR;有没有一种方法可以检查HTML元素(和/或任何相应的CSS,JS等),并确定它是否是模式弹出窗口?

1 个答案:

答案 0 :(得分:1)

我认为这些方法足以满足用户体验如果我是用户,我想知道您在做什么,也许您可​​以添加两种模式来由用户控制:确认恢复,您可以分析用户未删除modal的站点。

  • 确认:使用Dom检查器让用户知道将删除哪个DOM,然后选择“是”或“否”来执行。

  • 恢复:有时有时会删除模式,这不是用户期望的。您可以保存网站URL进行记录和分析。