向浏览器添加jQuery功能
有时我需要删除网页上的一些元素,或者使用Javascript命令在该网页上执行一些jQuery函数,比如使用Javascript:doSomething的地址栏;无效 但是,后来我发现我可以将jQuery添加到带有jQueryfBookmarklet的页面: 是否有可能在任何页面上自动将jQuery环境默认加载到浏览器中?我的意思是,不必每次都使用bookmarklet并加载相同的jquery-latest.js向浏览器添加jQuery功能,jquery,browser,autoload,Jquery,Browser,Autoload,有时我需要删除网页上的一些元素,或者使用Javascript命令在该网页上执行一些jQuery函数,比如使用Javascript:doSomething的地址栏;无效 但是,后来我发现我可以将jQuery添加到带有jQueryfBookmarklet的页面: 是否有可能在任何页面上自动将jQuery环境默认加载到浏览器中?我的意思是,不必每次都使用bookmarklet并加载相同的jquery-latest.js 谢谢。您可以安装greasemonkey并在任何页面上自动运行自定义脚本。您可以安
谢谢。您可以安装greasemonkey并在任何页面上自动运行自定义脚本。您可以安装greasemonkey并在任何页面上自动运行自定义脚本。您可以使用类似以下内容的greasemonkey脚本:
var $;
// Add jQuery
(function(){
if (typeof unsafeWindow.jQuery == 'undefined') {
var GM_Head = document.getElementsByTagName('head')[0] || document.documentElement,
GM_JQ = document.createElement('script');
GM_JQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
GM_JQ.type = 'text/javascript';
GM_JQ.async = true;
GM_Head.insertBefore(GM_JQ, GM_Head.firstChild);
}
GM_wait();
})();
// Check if jQuery's loaded
function GM_wait() {
if (typeof unsafeWindow.jQuery == 'undefined') {
window.setTimeout(GM_wait, 100);
} else {
$ = unsafeWindow.jQuery.noConflict(true);
letsJQuery();
}
}
// All your GM code must be inside this function
function letsJQuery() {
/* Execute stuff here */
}
您可以使用类似以下内容的Greasemonkey脚本:
var $;
// Add jQuery
(function(){
if (typeof unsafeWindow.jQuery == 'undefined') {
var GM_Head = document.getElementsByTagName('head')[0] || document.documentElement,
GM_JQ = document.createElement('script');
GM_JQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
GM_JQ.type = 'text/javascript';
GM_JQ.async = true;
GM_Head.insertBefore(GM_JQ, GM_Head.firstChild);
}
GM_wait();
})();
// Check if jQuery's loaded
function GM_wait() {
if (typeof unsafeWindow.jQuery == 'undefined') {
window.setTimeout(GM_wait, 100);
} else {
$ = unsafeWindow.jQuery.noConflict(true);
letsJQuery();
}
}
// All your GM code must be inside this function
function letsJQuery() {
/* Execute stuff here */
}
如果jQuery文件名相同,则该文件名已经在系统上,并且正在从缓存中重新加载。是否缓存并不重要。当缓存未命中时,将重新加载该文件。如果jQuery文件名相同,则它已在您的系统上,并且正在从缓存中重新加载。它是否被缓存并不重要。它将在缓存未命中时重新加载。我不想使用Firefox。我正在寻找其他优雅的解决方案。我认为IE和Chrome也有类似greasemonkey的功能。如果你根本不想使用greasemonkey,你可能需要推出自己的Chrome扩展或IE/FF插件。我不想使用Firefox。我正在寻找其他优雅的解决方案。我认为IE和Chrome也有类似greasemonkey的功能。如果你根本不想使用greasemonkey,你可能需要推出自己的Chrome扩展或IE/FF插件。我不想使用Firefox。我正在寻找其他优雅的解决方案。我不想使用Firefox。我在寻找其他优雅的解决方案。