我正在研究Chrome中的扩展程序,我想知道:什么是找出元素何时出现的最佳方法?使用普通的javascript,检查直到元素存在的间隔,或jQuery有一些简单的方法来做到这一点?
我是Greasemonkey,javascript的新手,实际上是所有UI的东西.
要求:用户脚本在页面加载后由GS运行一次.但是,我需要在不刷新的情况下多次运行相同的脚本
使用案例:例如,使用Ajax进行Amazon.com搜索.我需要在搜索结果中嵌入自定义元素.
每次在同一页面中进行搜索时,我都需要将我的内容注入search-results-div以及结果(没有页面刷新)
我当前的脚本仅在页面刷新时运行.
我希望上面的解释清楚.请帮忙.
我有这个用户脚本 (在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网络监视器,当你切换标签时似乎:
如何更改代码(使用waitForKeyElements时)以防止显示关键元素,并仅在我的代码修改后显示它?
或者我如何加快响应速度?
谢谢.