在JavaScript控制台中包含jQuery

这篇博客探讨了如何在不使用jQuery的网站上,通过JavaScript控制台便捷地引入jQuery。用户分享了多种方法,包括复制jQuery脚本、创建书签、使用 Tampermonkey 用户脚本等,以实现对DOM的便捷操作。还提到了现代浏览器内置的一些类似jQuery的辅助功能。
摘要由CSDN通过智能技术生成

对于不使用jQuery的网站,是否有简便的方法将jQuery包含在Chrome JavaScript控制台中? 例如,在一个网站上,我想获取表中的行数。 我知道使用jQuery确实很容易。

$('element').length;

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


#1楼

我是反叛者

解决方案:不要使用jQuery。 jQuery是一个库,用于在浏览器中抽象出DOM不一致性。 由于您位于自己的控制台中,因此不需要这种抽象。

例如:

$$('element').length

$$是控制台中document.querySelectorAll的别名。)

对于其他任何示例:我确定我能找到任何东西。 特别是如果您使用的是现代浏览器(Chrome,FF,Safari,Opera)。

此外,了解DOM的工作原理不会伤害任何人,只会增加jQuery的水平(是的,了解更多有关javascript的知识可以使您在jQuery上更胜一筹)。


#2楼

jondavidjohn最高答案是好的,但我想对其进行调整以解决两点:

  • http加载脚本到https上的页面时,各种浏览器都会发出警告。
  • 如果直接从浏览器的URL栏尝试将jquery.com的协议更改为https则会产生警告: This is probably not the site you are looking for!
  • 当我使用控制台尝试Gmail等Google网站时,我喜欢使用Google的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();

#3楼

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

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


#4楼

除了@jondavidjohn的答案,我们还可以将其设置为书签,并以URL作为javascript代码。

名称:包括jQuery

网址:

javascript:var jq = document.createElement('script');jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";document.getElementsByTagName('head')[0].appendChild(jq); setTimeout(function() {jQuery.noConflict(); console.log('jQuery loaded'); }, 1000);void(0);

然后将其添加到Chrome或Firefox的工具栏中,这样我们就可以单击书签小书签,而不必一次又一次粘贴脚本。

书签的屏幕截图


#5楼

我刚刚制作了带有错误处理的jQuery 3.2.1小书签(仅在未加载时加载,在已加载时检测版本,在加载时出现错误,则显示错误消息)。 已在Chrome 27中进行了测试。由于jQuery 2.0与1.9的API兼容,因此没有必要在Chrome浏览器上使用“旧的” jQuery 1.9.1。

只需在Chrome开发者控制台中运行以下命令,或将其拖放到书签栏中

javascript:((function(){if(typeof(jQuery)=="undefined"){window.jQuery="loading";var a=document.createElement("script");a.type="text/javascript";a.src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js";a.onload=function(){console.log("jQuery "+jQuery.fn.jquery+" loaded successfully.")};a.onerror=function(){delete jQuery;alert("Error while loading jQuery!")};document.getElementsByTagName("head")[0].appendChild(a)}else{if(typeof(jQuery)=="function"){alert("jQuery ("+jQuery.fn.jquery+") is already loaded!")}else{alert("jQuery is already loading...")}}})())

可读的源代码在这里


#6楼

如果要从控制台频繁使用jQuery,则可以轻松编写用户脚本。 首先,如果您使用的是Chrome,则安装Tampermonkey;如果您使用的是Firefox,则安装Greasemonkey。 使用如下使用功能编写一个简单的用户脚本:

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;
    }
}

#7楼

FWIW,Firebug嵌入了include特殊命令,并且默认情况下,jQuery为别名的别名: https//getfirebug.com/wiki/index.php/Include

因此,在您的情况下,只需键入:

include("jquery");

弗洛朗


#8楼

这是替代代码:

javascript:(function() {var url = '//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'; var n=document.createElement('script');n.setAttribute('language','JavaScript');n.setAttribute('src',url+'?rand='+new Date().getTime());document.body.appendChild(n);})();

可以直接将其粘贴在控制台中,也可以创建一个新的书签页面(在Chrome浏览器中,右键单击“ 书签栏” ,然后单击“ 添加页面...” ),然后将此代码粘贴为URL。

要测试是否可行,请参见下文。

之前:

$()
Uncaught TypeError: $ is not a function(…)

后:

$()
[]

#9楼

最短的方法之一就是将以下代码复制粘贴到控制台。

var jquery = document.createElement('script'); 
jquery.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
document.head.appendChild(jquery);

#10楼

根据这个答案

fetch('https://code.jquery.com/jquery-latest.min.js').then(r => r.text()).then(r => eval(r))

由于某种原因,我必须执行两次才能获得新的“ $”(我也必须与其他方法关联),但是它可以工作。

如果您的浏览器不是那么现代,则等效:

fetch('http://code.jquery.com/jquery-latest.min.js').then(function(r){return r.text()}).then(function(r){eval(r)})

#11楼

这个答案基于@genesis答案,首先我尝试了书签版本@jondavidjohn,但它不起作用,因此我将其更改为此(将其添加到您的书签):

javascript:(function(){var s = document.createElement('script');s.src = "//code.jquery.com/jquery-2.2.4.min.js";document.getElementsByTagName('head')[0].appendChild(s);console.log('jquery loaded')}());

请注意,未在chrome中测试,但在Firefox中有效,并且未在冲突环境中测试。


#12楼

直观的一线

document.write(unescape('%3Cscript src="https://code.jquery.com/jquery-3.1.1.min.js"%3E%3C/script%3E’))

您可以更改src地址。
我提到ReferenceError:找不到变量:jQuery


#13楼

交钥匙解决方案:

将您的代码放在yourCode_here函数中。 并防止没有HEAD标签的HTML。

 (function(head) { 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')); function jQueryReady() { if (window.jQuery) { jQuery.noConflict(); yourCode_here(jQuery); } else { setTimeout(jQueryReady, 100); } } jQueryReady(); function yourCode_here($) { console.log("OK"); $("body").html("<h1>Hello world !</h1>"); } 


#14楼

现代浏览器(在Chrome,Firefox,Safari上进行了测试)使用美元符号$ 实现了一些辅助功能 ,这些功能与jQuery非常相似(如果网站未使用window.$定义某些内容)。

这些实用程序对于选择DOM中的元素并进行修改非常有用。

文件: ChromeFirefox


#15楼

在浏览器的JavaScript控制台中运行它,然后jQuery应该可用...

var jq = document.createElement('script');
jq.src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.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(其他库等)冲突,您仍然可能会遇到问题。

更新:

让最好的东西变得更好,创建一个书签确实很方便,让我们去做,一点反馈也很棒:

  1. 右键单击“书签栏”,然后单击“ 添加页面”
  2. 随意命名,例如注入jQuery,并使用以下行作为URL:

javascript:(function(e,s){e.src = s; e.onload = function(){jQuery.noConflict(); console.log('jQuery injection')}}; document.head.appendChild(e); })(document.createElement('script'),'// code.jquery.com/jquery-latest.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 /版本。


#16楼

在控制台中运行

var script = document.createElement('script');script.src = "https://code.jquery.com/jquery-3.4.1.min.js";document.getElementsByTagName('head')[0].appendChild(script);

它创建一个新的脚本标签,用jQuery填充并附加到头部。


#17楼

手动完成此操作非常容易,如其他答案所述。 但是,还有jQuerify插件


#18楼

使用jQueryify手册:

http://marklets.com/jQuerify.aspx

与其复制粘贴代码到其他答案中,不如将其变成可点击的书签。


#19楼

如果您要为用户脚本执行此操作,请编写以下代码: http ://userscripts.org/scripts/show/123588

它可以让您包括jQuery,UI和所需的任何插件。 我在具有1.5.1和没有UI的网站上使用它; 这个脚本给了我1.7.1加上UI,并且在Chrome或FF中没有冲突。 我还没有亲自测试过Opera,但是其他人告诉我,Opera也已经为他们工作了,因此,如果您需要这样做,那么它应该是一个完整的跨浏览器用户脚本解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值