【发布时间】:2012-12-23 01:20:22
【问题描述】:
这个问题是another question 的后续问题,需要询问并保证发布新帖子,所以如果我提到的事情可能在没有阅读其他问题的情况下不清楚。
在使用实用程序 waitForKeyElements() 时,我遇到了一个问题,即 div 包含在同一 URL 中包含的小弹出窗口中。我的扩展程序目前在Twitter 站点上运行,我的意图是配置文件页面上包含的div(例如http://twitter.com/todayshow)被移动到页面上另一个div 之上。我通过waitForKeyElements() 执行此操作,因为使用此实用程序解决了一些加载问题。
但是,在个人资料页面上,您可以单击指向另一个用户名的链接,该链接会弹出一个小窗口(在同一窗口/选项卡内,在同一 URL 上),显示有关他们的一些信息和一些以前的推文。这里的问题是相同的div 出现在此弹出窗口中,然后移动到弹出窗口后面的主页,它不应该出现在此处。在个人资料页面上,这可以通过将false 参数插入waitForKeyElements() 来停止,但是在非个人资料页面上,仍然可以激活此弹出窗口,然后移动到主页上,如@987654333 @我希望将其移至个人资料页面上方仍然存在,导致明显问题。
我想知道是否有办法解决这个问题,因为 bugs in Chrome 阻止我排除这些页面。到目前为止(只是头脑风暴)我在想:
- 在开始时
div不存在的页面上,创建一个空的,表示false将处理该问题。 - 以某种方式阻止脚本在给定的 URL 上触发,尽管由于 Twitter 的工作方式,这将不得不监视
OnClick()和我不确定该怎么做的页面 URL(我认为)。 - 当弹出窗口出现时停止运行,但我几乎不知道从哪里开始。
感谢任何帮助。与此问题相关的任何必要代码都可以在前两个链接中找到,我所面临的问题可以通过快速访问 Twitter 来查看。
编辑:当插入 false 参数时,它在通过 URL 栏直接转到个人资料时起作用,如果您在个人资料上并使用链接访问个人资料,则脚本未插入,我的扩展失败。所以这也需要解决,或者完全替代方法。
【问题讨论】:
-
div.module.profile-card.component.profile-header将是最容易使用的示例,因为您可以更轻松地看到它发生了什么。
标签: javascript google-chrome google-chrome-extension content-script