我正在为 Google Chrome 设计一个扩展程序,我真的很想从中赚取一点现金(如果可能的话),所以我并不急于发布完整的代码。我希望这对我的问题不是一个禁止性的限制。
作为扩展的一部分,我将内容脚本注入所有网站,并且部分内容脚本包括触摸感应覆盖;它是一个不可见的 HTML div,被分配了一个滑动侦听器。这个想法是为每个运行脚本的网站添加滑动功能。
不过,我遇到了一些问题,覆盖似乎在某些页面上“消失”了,尤其是在向下滚动页面之后。它在 google.com 上完美地记录了滑动——滚动或其他方式——但是,例如,在向下滚动页面后,它似乎在 engadget.com 上消失了。(再滚动一点后,它通常会再次开始注册滑动。)打开控制台(F12)之类的操作也会导致它开始注册滑动,并刷新页面(到对象之前的相同位置)让它开始注册再次。
我用于覆盖的 HTML/JavaScript 是这样的:
$("/<div class = \"touch_sensitive_overlay\" style = \"top:40%;opacity:1;position:fixed;height:247px;z-index:99999;width:50%;left:50%;border:2px solid black;\"></div>").prependTo('body');"
我正在使用 jQuery Mobile 库来注册滑动。
任何有用的见解将不胜感激。
更新:
Sumurai8 提出了一个解决方案,并成功实施。该文档被监听以进行滚动,并且——无论何时发生滚动——覆盖层从注入的 HTML 中移除,然后立即重新注入。通过这种方式,叠加层持续“活跃”并响应所有网站上的输入。谢谢你的好想法,Sumurai8。