如何在Greasemonkey中嵌入额外的jQuery插件
所以我已经能够让Greasemonkey和jQuery 1.2.6一起工作而没有问题,但是,现在我想知道如何在我的Greasemonkey脚本中嵌入额外的jQuery插件,例如Eric Martin的SimpleModal插件( http:// www .ericmmartin.com / projects / simplemodal / )。
以下代码加载了jQuery,但我不确定如何正确加载SimpleModal:
var GM_JQ = document.createElement('script'); GM_JQ.src = 'http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js'; GM_JQ.type = 'text/javascript'; document.getElementsByTagName('head')[0].appendChild(GM_JQ); var GM_JQ_SM = document.createElement('script'); GM_JQ_SM.src = 'http://simplemodal.googlecode.com/files/jquery.simplemodal-1.2.2.min.js'; GM_JQ_SM.type = 'text/javascript'; document.getElementsByTagName('head')[0].appendChild(GM_JQ_SM); // Check if jQuery's loaded function GM_wait() { if(typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait,100); } else { $ = unsafeWindow.jQuery; } } GM_wait();
有人有主意吗? 谢谢。
首先,如果您没有Firebug调试访问权限,则包含jquery的最简单方法是使用require设置:
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js // @require http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.2/jquery-ui.min.js
在该行之后,您可以包含其他外部脚本。 大多数jquery插件都不像jquery api那样可用,但你可以自己托管它。
使用require还允许您转储所有加载代码,并简单地使用:
$(document).ready( function() { ... });
Firebug将报告错误,但您将无法进入调试器。
此外,一旦你加载了jquery,你可以加载其他项目,如下所示:
$('head').append("");
还可以在GreaseMonkey脚本和@require块上查看 GreaseMonkeyWiki页面上的JQuery 。
- 我的Greasemonkey脚本破坏了IE9 HTTPS安全性?
- 如何让jQuery ajax调用从greasemonkey页面事件中工作
- 为什么jQuery在我的GreaseMonkey脚本中加载两次
- 添加@grant值会破坏我的Greasemonkey + jQuery脚本吗?
- Greasemonkey可以从分页的URL序列中获取值吗?
- 使用Greasemonkey和jQuery加载远程URL
- Greasemonkey(使用waitForKeyElements实用程序) – 如何在屏幕上显示特定元素后调用函数
- Tampermonkey选择下拉值。 它没有ID或名称,只是一个类?
- 为GM创建JQueryscript – 通过重写JS代码来解决问题