相关疑难解决方法(0)

如何等到元素存在?

我正在研究Chrome中的扩展程序,我想知道:什么是找出元素何时出现的最佳方法?使用普通的javascript,检查直到元素存在的间隔,或jQuery有一些简单的方法来做到这一点?

javascript jquery google-chrome google-chrome-extension

213
推荐指数
17
解决办法
22万
查看次数

多次在同一页面上运行Greasemonkey脚本?

我是Greasemonkey,javascript的新手,实际上是所有UI的东西.

要求:用户脚本在页面加载后由GS运行一次.但是,我需要在不刷新的情况下多次运行相同的脚本

使用案例:例如,使用Ajax进行Amazon.com搜索.我需要在搜索结果中嵌入自定义元素.

每次在同一页面中进行搜索时,我都需要将我的内容注入search-results-div以及结果(没有页面刷新)

我当前的脚本仅在页面刷新时运行.

我希望上面的解释清楚.请帮忙.

javascript ajax greasemonkey tampermonkey

31
推荐指数
2
解决办法
1万
查看次数

使用waitForKeyElements,是否可以阻止显示关键元素,并且只有在我的代码修改后才能显示它?

我有这个用户脚本 (在Stack Overflow的帮助下写的)用于网站metal-archives.com.

它的结构是这样的:

function appendColumn(...) {
    // code for appending column
    // code for making the table sortable   
}

waitForKeyElements ("table", appendColumn);        
Run Code Online (Sandbox Code Playgroud)

当您切换子标签(表格)时,脚本可以正常工作,除了视觉故障/延迟.

切换时,额外(第6列)最初显示为预期.但是,表格会以原始形式暂时显示,然后最终显示第6列.

要查看此内容,请安装脚本,访问此典型目标页面,然后切换子选项卡(完成唱片,主要,生命,演示,杂项等).
它看起来像这样:

桌子


我试图通过添加以下内容来显示初始表:

GM_addStyle(".display.discog {display: none;} ");
Run Code Online (Sandbox Code Playgroud)

到和的开头appendColumn():

GM_addStyle(".display.discog {display: inline !important;} "); 
Run Code Online (Sandbox Code Playgroud)

到了最后appendColumn().
但它没有任何区别.


我在该页面上使用了Firefox网络监视器,当你切换标签时似乎:

  • 代码会立即修改表(从缓存中加载?? - 因为网络监视器中没有条目).
  • 然后从服务器加载表(相关的HTML文件).
  • 然后最后一次修改表.

如何更改代码(使用waitForKeyElements时)以防止显示关键元素,并仅在我的代码修改后显示它?

或者我如何加快响应速度?

谢谢.

javascript css ajax jquery greasemonkey

1
推荐指数
1
解决办法
1005
查看次数