Javascript waitfork();-停止在Chrome扩展中的弹出窗口上启动脚本?
这个问题是一个后续问题,需要提问,并且需要一个新的帖子,所以请原谅,如果我在没有阅读其他问题的情况下提到一些可能不清楚的事情 当使用该实用程序时,我面临一个问题,即同一URL中包含的一个小弹出窗口中包含一个Javascript waitfork();-停止在Chrome扩展中的弹出窗口上启动脚本?,javascript,google-chrome,google-chrome-extension,content-script,Javascript,Google Chrome,Google Chrome Extension,Content Script,这个问题是一个后续问题,需要提问,并且需要一个新的帖子,所以请原谅,如果我在没有阅读其他问题的情况下提到一些可能不清楚的事情 当使用该实用程序时,我面临一个问题,即同一URL中包含的一个小弹出窗口中包含一个div。我的扩展目前正在该站点上运行,我的目的是将配置文件页面上包含的div移到页面上另一个div的上方。我是通过waitForKeyElements()来实现这一点的,因为使用此实用程序可以解决一些加载问题 但是,在个人资料页面上,您可以单击指向其他用户名的链接,该链接会弹出一个小窗口(在同
div
。我的扩展目前正在该站点上运行,我的目的是将配置文件页面上包含的div
移到页面上另一个div
的上方。我是通过waitForKeyElements()
来实现这一点的,因为使用此实用程序可以解决一些加载问题
但是,在个人资料页面上,您可以单击指向其他用户名的链接,该链接会弹出一个小窗口(在同一窗口/选项卡内,在同一URL上),显示有关他们的一些信息和一些以前的推文。这里的问题是,相同的div
出现在这个弹出窗口上,然后被移动到弹出窗口后面的主页面,不应该在那里。在配置文件页面上,可以通过将false
参数插入到waitforkyellements()
来停止此操作,但是在非配置文件页面上,仍然可以激活此弹出窗口,然后将其移动到主页面上,因为我希望在配置文件页面上移动它的div
仍然存在,导致了明显的问题
我想知道是否有办法解决这个问题,因为我已经阻止了排除这些页面。到目前为止(只是头脑风暴),我在想:
- 在
开头不存在的页面上,创建一个空的div,意思是div
将处理该问题false
- 以某种方式阻止脚本在给定的URL上启动,尽管由于Twitter的工作方式,这需要监控
和页面URL(我想),我不知道该怎么做OnClick()
- 当弹出窗口出现时停止运行,但我几乎不知道从哪里开始
编辑:当插入
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
将是最容易使用的示例,正如你所看到的,它发生了什么更容易。