对于不使用jQuery的网站,有没有一种简单的方法将jQuery包含在Chrome JavaScript控制台中?例如,在一个网站上,我想获取表中的行数。我知道jQuery很容易做到这一点。
$('element').length;
该网站不使用jQuery。我可以从命令行添加它吗?
对于不使用jQuery的网站,有没有一种简单的方法将jQuery包含在Chrome JavaScript控制台中?例如,在一个网站上,我想获取表中的行数。我知道jQuery很容易做到这一点。
$('element').length;
该网站不使用jQuery。我可以从命令行添加它吗?
当前回答
我是个叛逆者。
解决方案:不要使用jQuery。jQuery是一个抽象浏览器间DOM不一致性的库。因为您在自己的控制台中,所以不需要这种抽象。
例如:
$$('element').length
($$是控制台中document.querySelectorAll的别名。)
对于任何其他例子:我确信我能找到任何东西。特别是如果你使用的是现代浏览器(Chrome、FF、Safari、Opera)。
此外,了解DOM的工作原理不会伤害任何人,它只会提高您的jQuery水平(是的,了解更多有关javascript的知识会让您更擅长jQuery)。
其他回答
使用jQueryify小册子:
https://web.archive.org/web/20190502132317/http://marklets.com/jQuerify.aspx
这将使它成为一个可点击的书签,而不是复制粘贴其他答案中的代码。
正如其他答案所解释的那样,手动执行此操作非常容易。但还有jQueify插件。
我已经在公认的解决方案基础上进行了改进
var also_unconflict = typeof $ != "undefined";
var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
if(also_unconflict){
setTimeout(function(){
$=jQuery.noConflict();
console.log('jquery loaded, use jQuery instead of $')
}, 500)
}else{
console.log('jquery loaded, you can use $');
}
我在googlechrome控制台片段中使用这个函数
如果您想经常从控制台使用jQuery,那么可以很容易地编写用户脚本。首先,如果您使用的是Chrome,请安装Tampermonkey;如果您使用Firefox,请安装Greasemonkey。使用如下的use函数编写一个简单的用户脚本:
var scripts = [];
function use(libname) {
var src;
if (scripts.indexOf(libname) == -1) {
switch (libname.toLowerCase()) {
case "jquery":
src = "//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js";
break;
case "angularjs":
src = "//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js";
break;
}
} else {
console.log("Library already in use.");
return;
}
if (src) {
scripts.append(libname);
var script = document.createElement("script");
script.src = src;
document.body.appendChild(scr);
} else {
console.log("Invalid Library.");
return;
}
}
由jondavidjohn给出的最佳答案很好,但我想对其进行调整,以解决以下几点:
各种浏览器在将脚本从http加载到https页面时发出警告。如果您直接从浏览器的URL栏尝试,只需将jquery.com的协议更改为https,就会收到警告:这可能不是您要查找的站点!当我使用控制台尝试Gmail等谷歌网站时,我喜欢使用谷歌的CDN。
我唯一的问题是,我必须在控制台中包含一个版本号,我总是想要最新版本。
var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
jQuery.noConflict();