对于不使用jQuery的网站,有没有一种简单的方法将jQuery包含在Chrome JavaScript控制台中?例如,在一个网站上,我想获取表中的行数。我知道jQuery很容易做到这一点。

$('element').length;

该网站不使用jQuery。我可以从命令行添加它吗?


当前回答

从以下位置复制所有内容:https://code.jquery.com/jquery-3.4.1.min.js

并将其粘贴到控制台中。工作完美。

其他回答

如果您想经常从控制台使用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;
    }
}

在浏览器的JavaScript控制台中运行此命令,则jQuery应该可用。。。

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);
// ... give time for script to load, then type (or see below for non wait option)
jQuery.noConflict();

注意:如果站点有与jQuery(其他库等)冲突的脚本,您仍可能遇到问题。

更新:

做得更好,创建书签会非常方便,让我们来做吧,一点反馈也很棒:

右键单击书签栏,然后单击添加页面根据需要命名它,例如Inject jQuery,并使用以下行作为URL:

javascript:(function(e,s){e.src=s;e.onload=function(){jQuery.noConflict();console.log('jQuery injected')};document.head.appendChild(e);})(document.createElement('script'),'//code.jquery.com/jquery-last.min.js')

以下是格式化代码:

javascript: (function(e, s) {
    e.src = s;
    e.onload = function() {
        jQuery.noConflict();
        console.log('jQuery injected');
    };
    document.head.appendChild(e);
})(document.createElement('script'), '//code.jquery.com/jquery-latest.min.js')

这里使用的是官方jQuery CDN URL,请随意使用您自己的CDN/版本。

2020年后方法,使用:

动态导入自动执行IIFE异步的,异步的作用箭头函数

(异步()=>{等待导入('https://code.jquery.com/jquery-2.2.4.min.js')//库准备就绪console.log(jQuery)})()


如果没有异步,因为import确实返回Promise,所以我们必须使用.then():

导入('https://code.jquery.com/jquery-2.2.4.min.js').然后(()=>{console.log(jQuery)})

另一个例子

https://caniuse.com/es6-module-dynamic-import

交钥匙解决方案:

将代码放入code_here函数中。并防止没有HEAD标记的HTML。

(功能(头部){var jq=document.createElement('script');jq.src=“https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js";((head&&head[0])||document.firstChild).appendChild(jq);})(document.getElementsByTagName('head'));函数jQueryReady(){if(window.jQuery){jQuery.noConflict();您的代码_此处(jQuery);}其他{setTimeout(jQueryReady,100);}}jQueryReady();函数yourCode_here($){console.log(“OK”);$(“body”).html(“<h1>你好!</h1>”);}

从以下位置复制所有内容:https://code.jquery.com/jquery-3.4.1.min.js

并将其粘贴到控制台中。工作完美。