【问题标题】:How to identify whether a website has a modal popup displayed?如何识别网站是否显示了模态弹出窗口?
【发布时间】:2018-08-05 03:25:19
【问题描述】:

越来越多的网站正在使用模式弹出窗口。有时使用可以说是合理的,但更常见的是,我看到糟糕的用户体验,比如在我有机会浏览最初将我带到他们网站的文章之前,弹出询问我的电子邮件地址的弹出窗口。不用说,我正在制作一个浏览器扩展来摆脱这些。

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

目前的方法

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

TLDR;有没有办法检查 HTML 元素(和/或任何相应的 CSS、JS 等)并确定它是否是模态弹出窗口?

【问题讨论】:

    标签: javascript html css


    【解决方案1】:

    我觉得这些方法已经足够了,对于用户体验来说如果我是用户我想知道你在做什么,也许你可以添加两种模式来由用户控制:确认恢复,您可以分析哪些网站用户没有删除modal

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

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

    【讨论】:

      猜你喜欢
      • 2019-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多