AirBashX / UserScript

🐵 自用的油侯脚本
https://greasyfork.org/zh-CN/users/698573
GNU General Public License v3.0
103 stars 9 forks source link

简书弹窗拦截后页面无法滚动 #23

Closed altair441n closed 4 months ago

altair441n commented 5 months ago

打开或刷新简书文章链接,关闭插件情况下,会弹出让下载 app 的弹窗,关闭后可以正常浏览。打开插件后,会拦截该弹窗,但是无法滚动页面了。

image

youngerworld commented 4 months ago

这个问题我也发现了。原因在于该脚本的屏蔽模式是将待拦截的元素隐藏而非去除,眼睛无法看到而实际仍然存在。目前,简书弹窗被设置为置顶,且将整个页面完全覆盖。故隐藏显示后,光标控制不到弹窗之下的内容。 以1.4.6版本为例,可以手动将脚本中的160和162行删去即可暂时解决该问题。

//PC端:透明遮挡
"._23ISFX-mask",
//PC端:登录弹窗
"._23ISFX-wrap",
AirBashX commented 4 months ago

使用环境是什么?浏览器和系统,因为我在测试的时候没有发现这个问题

AirBashX commented 4 months ago

这个问题我也发现了。原因在于该脚本的屏蔽模式是将待拦截的元素隐藏而非去除,眼睛无法看到而实际该仍然存在。而简书弹窗被设置为置顶,而且将整个页面完全覆盖。故隐藏显示后,光标控制不到之后弹窗之下的内容。 以1.4.6版本为例,可以手动将脚本中的160和162行删去即可暂时解决该问题。

//PC端:透明遮挡
"._23ISFX-mask",
//PC端:登录弹窗
"._23ISFX-wrap",

使用环境是什么?浏览器和系统,因为我在测试的时候没有发现这个问题

altair441n commented 4 months ago

使用环境是什么?浏览器和系统,因为我在测试的时候没有发现这个问题

chrome v125.0.6422.142 macos v14.4.1

youngerworld commented 4 months ago

这个问题我也发现了。原因在于该脚本的屏蔽模式是将待拦截的元素隐藏而非去除,眼睛无法看到而实际该仍然存在。而简书弹窗被设置为置顶,而且将整个页面完全覆盖。故隐藏显示后,光标控制不到之后弹窗之下的内容。 以1.4.6版本为例,可以手动将脚本中的160和162行删去即可暂时解决该问题。

//PC端:透明遮挡
"._23ISFX-mask",
//PC端:登录弹窗
"._23ISFX-wrap",

使用环境是什么?浏览器和系统,因为我在测试的时候没有发现这个问题

Windows 10,浏览器是 Chrome 和 Edge 的最新版本。但我认为这个和使用环境似乎无关,简书的 Web 元素是统一的。

AirBashX commented 4 months ago

且将整个页面完全覆盖。故隐藏显示后,光标控制不到之后弹窗之下的内容。 以1.4.6版本为例,可以手动将脚本中的160和162行删去即可暂时解决该问题。

可是我这边并没有这个问题,我反复测试了好多遍,都可以拉动

AirBashX commented 4 months ago

这个问题我也发现了。原因在于该脚本的屏蔽模式是将待拦截的元素隐藏而非去除,眼睛无法看到而实际该仍然存在。而简书弹窗被设置为置顶,而且将整个页面完全覆盖。故隐藏显示后,光标控制不到之后弹窗之下的内容。 以1.4.6版本为例,可以手动将脚本中的160和162行删去即可暂时解决该问题。

//PC端:透明遮挡
"._23ISFX-mask",
//PC端:登录弹窗
"._23ISFX-wrap",

使用环境是什么?浏览器和系统,因为我在测试的时候没有发现这个问题

Windows 10,浏览器是 Chrome 和 Edge 的最新版本。但我认为这个和使用环境似乎无关,简书的 Web 元素是统一的。

好的我找到问题了,下一个版本修复这个问题

AirBashX commented 4 months ago

已更新新版本,该问题已解决

youngerworld commented 4 months ago

已更新新版本,该问题已解决

两个情况。

  1. 我不是纯粹的前端开发者,所以没有看懂为什么加上 overflow : true 就可以解决该问题;而且在浏览器开发者说明中也没有找到 支持 true 这个值。有点不能理解,请指教。
  2. 在更新 1.4.7 版本后,的确没有了弹窗。初时我以为是脚本发挥了作用,直到把油猴关闭后发现仍然没有弹窗,打开开发者工具也找不到这个 div 了。似乎在我这里已经不显示弹窗这个元素。如果您那儿显示还有这个元素,可能简书确实存在不同 Web 服务器托管不同版本前端代码的情况。
AirBashX commented 4 months ago

已更新新版本,该问题已解决

两个情况。

  1. 我不是纯粹的前端开发者,所以没有看懂为什么加上 overflow : true 就可以解决该问题;而且在浏览器开发者说明中也没有找到 支持 true 这个值。有点不能理解,请指教。
  2. 在更新 1.4.7 版本后,的确没有了弹窗。初时我以为是脚本发挥了作用,直到把油猴关闭后发现仍然没有弹窗,打开开发者工具也找不到这个 div 了。似乎在我这里已经不显示弹窗这个元素。如果您那儿显示还有这个元素,可能简书确实存在不同 Web 服务器托管不同版本前端代码的情况。

是这样的,你之前说的是对的简书在各个平台的页面是一样的,我之前之所以没有测出"不能滑动"这个问题是因为我还安装了我的另一个脚本"自动展开"用来展开简书的文章,那个脚本做过了"overflow : true",所以我这才没有测出这个问题 还有就是overflow:true意味者后面会添加CSS"body{overflow: auto !important}",这样就可以滑动了