Inclure jQuery dans la Console JavaScript

Existe-t-il un moyen facile d'inclure jQuery dans la console JavaScript Chrome pour les sites qui ne l'utilisent pas? Par exemple, sur un site, je voudrais obtenir le nombre de lignes dans une table. Je sais que c'est vraiment facile avec jQuery.

$('element').length;

le site n'utilise pas jQuery. Puis-je l'ajouter depuis la ligne de commande?

632
demandé sur kiamlaluno 2011-09-19 20:42:34

18 réponses

Lancez ceci dans la console JavaScript de votre navigateur, puis jQuery devrait être disponible...

var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/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();

NOTE: si le site a des scripts qui entrent en conflit avec jQuery (autres libs, etc. tu pourrais quand même avoir des problèmes.

mise à jour:

faire le meilleur mieux, Créer un signet le rend vraiment pratique, faisons-le, et un peu de feedback est génial aussi:

  1. faites un clic droit sur la barre de signets et cliquez sur ajoutez la Page
  2. nommez-le comme vous voulez, p.ex. injectez jQuery, et utilisez la ligne suivante pour L'URL:

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

ci-dessous est le code formaté:

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')

ici, L'URL officielle jQuery CDN est utilisée, n'hésitez pas à utiliser votre propre version CDN.

1154
répondu jondavidjohn 2016-09-26 13:31:30

exécutez ceci dans votre console

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

il crée nouvelle étiquette de script, le remplit avec jQuery et ajoute à la tête

184
répondu genesis 2016-03-16 10:33:12

utilisez le livret jQueryify:

http://marklets.com/jQuerify.aspx

au lieu de coller le code dans les autres réponses, cela en fera un signet cliquable.

63
répondu meder omuraliev 2011-09-19 16:57:23

Copie http://code.jquery.com/jquery-latest.min.js contenu du fichier et de le coller dans la console. Fonctionne parfaitement.

58
répondu Ruslanas Balčiūnas 2012-11-22 11:34:20

en ajoutant à la réponse de @jondavidjohn, nous pouvons également le Définir comme un signet avec URL comme code javascript.

Nom: Inclure Jquery

Url:

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

et ensuite l'ajouter à la barre D'outils de Chrome ou Firefox de sorte qu'au lieu de coller le script encore et encore, nous pouvons juste cliquer sur le bookmarklet.

Screenshot of bookmark

28
répondu manish_s 2015-01-24 09:13:02

je suis un rebelle.

Solution: ne pas utiliser jQuery. jQuery est une bibliothèque pour faire un résumé des résultats des DOM à travers les navigateurs. Puisque vous êtes dans votre propre console, vous n'avez pas besoin de ce genre d'abstraction.

pour votre exemple:

$$('element').length

( $$ est un alias de document.querySelectorAll dans la console.)

pour tout autre exemple: je suis sûr que je peux trouver n'importe quoi. Surtout si vous utilisez un moderne navigateur (Chrome, FF, Safari, Opera).

de plus, savoir comment fonctionne le DOM ne nuirait à personne, cela augmenterait seulement votre niveau de jQuery (oui, en apprendre plus sur javascript vous rend meilleur à jQuery).

21
répondu Florian Margaine 2014-10-20 21:17:58

je viens de faire un bookmarklet jQuery 3.2.1 avec la gestion des erreurs (seulement charger si pas déjà chargé, détecter la version si déjà chargé, message d'erreur si Erreur lors du chargement). Testé dans Chrome 27. Il n'y a aucune raison d'utiliser le "vieux" jQuery 1.9.1 sur Chrome browser puisque jQuery 2.0 est compatible API avec 1.9 .

il suffit d'exécuter ce qui suit dans la console de développeur de Chrome ou le glisser-déposer dans votre barre de signet :

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...")}}})())

le code source lisible est disponible ici

12
répondu fnkr 2017-08-05 08:27:49

Le haut en réponse, par jondavidjohn est bonne, mais je voudrais ajuster à un couple de points:

  • divers navigateurs émettent un avertissement lors du chargement d'un script de http à une page sur https .
  • vient de changer jquery.com 's protocole à https résultats dans un avertissement si vous l'essayez directement de la barre D'URL du navigateur: This is probably not the site you are looking for!
  • j'aime utiliser Le CDN de Google lorsque j'utilise la console pour expérimenter avec des sites Google tels que Gmail.

mon seul problème est que je dois inclure un numéro de version où dans la console je veux vraiment toujours la dernière.

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();
8
répondu hippietrail 2017-05-23 11:55:03

Il est assez facile de le faire manuellement, comme les autres réponses expliquer. Mais il y a aussi le jquerify plug-in .

5
répondu Ken Redler 2011-09-19 16:50:12

FWIW, Firebug intègre le include commande spéciale, et jquery est un alias par défaut: https://getfirebug.com/wiki/index.php/Include

dans votre cas, vous n'avez qu'à taper:

include("jquery");

Florent

5
répondu fflorent 2014-10-16 21:21:32

Par cette réponse :

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

Pour une raison que j'ai pour l'exécuter deux fois pour obtenir le '$' (que j'ai à faire avec les autres méthodes), mais il fonctionne.

C'est l'équivalent si votre navigateur n'est pas si moderne:

fetch('http://code.jquery.com/jquery-latest.min.js').then(function(r){return r.text()}).then(function(r){eval(r)})
4
répondu vt5491 2017-06-30 04:31:15

cette réponse @genèse de réponse, j'ai d'abord essayé le signet version @jondavidjohn, et il ne fonctionne pas, j'ai donc modifier (ajouter à vos favoris):

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')}());

les mots de la prudence, n'est pas testé sur chrome, mais travaillent dans firefox, et n'est pas testé dans l'environnement de conflit.

3
répondu whale_steward 2016-10-21 06:36:31

l'un des moyens les plus courts serait de copier le code ci-dessous sur la console.

var jquery = document.createElement('script'); 
jquery.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
document.head.appendChild(jquery);
2
répondu developer 2015-12-11 15:15:09

si vous cherchez à faire ceci pour un userscript, j'ai écrit ceci: http://userscripts.org/scripts/show/123588

il vous permettra d'inclure jQuery, plus UI et tous les plugins que vous voulez. Je l'utilise sur un site qui a 1.5.1 et aucune UI; ce script me donne 1.7.1 à la place, plus UI, et aucun conflit dans Chrome ou FF. Je n'ai pas testé l'Opéra de moi-même, mais d'autres m'ont dit qu'il était là pour eux aussi, donc cela devrait être assez bien un solution multi-navigateur complète userscript, si c'est ce que vous devez faire.

1
répondu BrianFreud 2012-01-22 06:20:06

Si vous souhaitez utiliser jQuery fréquemment à partir de la console, vous pouvez facilement écrire un script. Tout d'abord, installez Tampermonkey si vous utilisez Chrome et Greasemonkey si vous utilisez Firefox. Écrivez un userscript simple avec une fonction d'utilisation comme celle-ci:

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;
    }
}
1
répondu Asif Mallik 2016-10-21 07:30:38

voici le code alternatif:

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

qui peut être collé directement dans la Console ou créer une nouvelle page de marque-page (en Chrome droit-cliquez sur la barre de marque-page , ajouter la Page... ) et coller ce code comme URL.

pour vérifier si cela a fonctionné, voir ci-dessous.

avant:

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

après:

$()
[]
0
répondu kenorb 2015-09-29 11:28:39
"151920920 intuitif" one-liner

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

vous pouvez changer l'adresse src .

J'ai fait référence à ReferenceError: ne peut pas trouver la variable: jQuery

0
répondu plhn 2017-05-23 12:18:25

solution clé en main:

mettez votre code dans la fonction yourCode_here . Et empêcher HTML sans étiquette de tête.

(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>");
}
0
répondu Hors Sujet 2018-09-14 11:30:27