Javascript waitfork();-停止在Chrome扩展中的弹出窗口上启动脚本?

Javascript waitfork();-停止在Chrome扩展中的弹出窗口上启动脚本?,javascript,google-chrome,google-chrome-extension,content-script,Javascript,Google Chrome,Google Chrome Extension,Content Script,这个问题是一个后续问题,需要提问,并且需要一个新的帖子,所以请原谅,如果我在没有阅读其他问题的情况下提到一些可能不清楚的事情 当使用该实用程序时,我面临一个问题,即同一URL中包含的一个小弹出窗口中包含一个div。我的扩展目前正在该站点上运行,我的目的是将配置文件页面上包含的div移到页面上另一个div的上方。我是通过waitForKeyElements()来实现这一点的,因为使用此实用程序可以解决一些加载问题 但是,在个人资料页面上,您可以单击指向其他用户名的链接,该链接会弹出一个小窗口(在同

这个问题是一个后续问题,需要提问,并且需要一个新的帖子,所以请原谅,如果我在没有阅读其他问题的情况下提到一些可能不清楚的事情

当使用该实用程序时,我面临一个问题,即同一URL中包含的一个小弹出窗口中包含一个
div
。我的扩展目前正在该站点上运行,我的目的是将配置文件页面上包含的
div
移到页面上另一个
div
的上方。我是通过
waitForKeyElements()
来实现这一点的,因为使用此实用程序可以解决一些加载问题

但是,在个人资料页面上,您可以单击指向其他用户名的链接,该链接会弹出一个小窗口(在同一窗口/选项卡内,在同一URL上),显示有关他们的一些信息和一些以前的推文。这里的问题是,相同的
div
出现在这个弹出窗口上,然后被移动到弹出窗口后面的主页面,不应该在那里。在配置文件页面上,可以通过将
false
参数插入到
waitforkyellements()
来停止此操作,但是在非配置文件页面上,仍然可以激活此弹出窗口,然后将其移动到主页面上,因为我希望在配置文件页面上移动它的
div
仍然存在,导致了明显的问题

我想知道是否有办法解决这个问题,因为我已经阻止了排除这些页面。到目前为止(只是头脑风暴),我在想:

  • div
    开头不存在的页面上,创建一个空的div,意思是
    false
    将处理该问题
  • 以某种方式阻止脚本在给定的URL上启动,尽管由于Twitter的工作方式,这需要监控
    OnClick()
    和页面URL(我想),我不知道该怎么做
  • 当弹出窗口出现时停止运行,但我几乎不知道从哪里开始
感谢您的帮助。任何与这个问题相关的必要代码都可以在前两个链接中找到,我所面临的问题可以通过快速访问Twitter看到


编辑:当插入
false
参数时,它在通过URL栏直接访问配置文件时起作用,如果您在配置文件上并使用链接访问配置文件,则脚本不会插入,并且我的扩展失败。因此,这也需要解决,或者需要一种完全替代的方法。

我有一个脑波,我可以使用
insertAfter()
插入我最初移动的
,在我最初移动的
之后。此
在弹出窗口中不存在,这意味着在不应该的情况下,不会将任何内容移到后面的页面上

关于上一个问题,我的代码是:

waitForKeyElements (
    "jQuery selector for div(s) you want to move", // Opposite to what it was.
    moveSelectDivs
);

function moveSelectDivs (jNode) {
     jNode.insertAfter ("APPROPRIATE JQUERY SELECTOR"); // Again, the opposite.
}

这解决了我以前遇到的问题,我的扩展现在工作得很好,但是我会把这个问题留下来,以防将来有人再来问它。

如果每种类型只有一个div(movee和target),
div.module.profile card.component.profile header
将是最容易使用的示例,正如你所看到的,它发生了什么更容易。