Dołącz jQuery do konsoli JavaScript

Czy istnieje łatwy sposób na umieszczenie jQuery w konsoli Chrome JavaScript dla stron, które go nie używają? Na przykład na stronie internetowej chciałbym uzyskać liczbę wierszy w tabeli. Wiem, że to naprawdę łatwe z jQuery.

$('element').length;

Strona nie używa jQuery. Czy Mogę dodać go z wiersza poleceń?

Author: kiamlaluno, 2011-09-19

18 answers

Uruchom to w konsoli JavaScript przeglądarki, a jQuery powinien być dostępny...

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

Uwaga: jeśli strona ma skrypty, które są w konflikcie z jQuery (inne biblioteki itp.) nadal możesz napotkać problemy.

Aktualizacja:

Ulepszanie najlepszych, tworzenie zakładki sprawia, że jest to naprawdę wygodne, zróbmy to, a mała informacja zwrotna też jest świetna:

  1. kliknij prawym przyciskiem myszy pasek zakładek i kliknij Dodaj stronę
  2. Nazwij to jak chcesz, np. JQuery i użyj następującego wiersza dla adresu URL:

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

Poniżej znajduje się sformatowany kod:

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

Tutaj używany jest oficjalny url jQuery CDN, możesz użyć własnej wersji CDN/.

 1154
Author: jondavidjohn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-26 13:31:30

Uruchom to w konsoli

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

Tworzy nowy znacznik script, wypełnia go jQuery i dołącza do head

 184
Author: genesis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-16 10:33:12

Użyj broszury jQueryify:

Http://marklets.com/jQuerify.aspx

Zamiast kopiować wklejanie kodu w innych odpowiedziach, spowoduje to, że będzie to klikalna zakładka.

 63
Author: meder omuraliev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-19 16:57:23

Kopia http://code.jquery.com/jquery-latest.min.js Zawartość pliku i wklej ją do konsoli. Działa idealnie.

 58
Author: Ruslanas Balčiūnas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-22 11:34:20

Dodając do odpowiedzi @jondavidjohn, możemy również ustawić ją jako zakładkę z adresem URL jako kodem javascript.

Nazwa: Include 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);

A następnie dodać go do paska narzędzi Chrome lub Firefox tak, że zamiast wklejać skrypt raz po raz, możemy po prostu kliknąć na bookmarklet.

Zrzut ekranu zakładki

 28
Author: manish_s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-24 09:13:02

Jestem buntownikiem.

Rozwiązanie: nie używaj jQuery. jQuery jest biblioteką do abstrakcji niezgodności DOM w przeglądarkach. Ponieważ jesteś we własnej konsoli, nie potrzebujesz tego rodzaju abstrakcji.

Dla Twojego przykładu:

$$('element').length

($$ jest aliasem document.querySelectorAll w konsoli.)

Dla każdego innego przykładu: jestem pewien, że mogę znaleźć wszystko. Zwłaszcza jeśli używasz nowoczesnej przeglądarki (Chrome, FF, Safari, Opera).

Poza tym, wiedząc jak działa DOM nie zranienie kogokolwiek, to tylko zwiększy twój poziom jQuery (tak, nauka więcej o javascript sprawia, że lepiej w jQuery).

 21
Author: Florian Margaine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-20 21:17:58

Właśnie zrobiłem jQuery 3.2.1 bookmarklet z obsługą błędów (tylko załaduj, jeśli nie jest już załadowany, Wykryj wersję, jeśli już załadowany, komunikat o błędzie, jeśli błąd podczas ładowania). Testowany w Chrome 27. Nie ma powodu, aby używać "starego" jQuery 1.9.1 w przeglądarce Chrome, ponieważ jQuery 2.0 jest kompatybilny z API 1.9.

Po prostu uruchom następujące funkcje w konsoli deweloperskiej Chrome lub przeciągnij i upuść je na pasku zakładek :

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

Dostępny jest czytelny kod źródłowy tutaj

 12
Author: fnkr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-05 08:27:49

The top answer, by jondavidjohn is good but I would like to tweak it to address a few of points:

  • różne przeglądarki wydają ostrzeżenie podczas ładowania skryptu z http do strony na https.
  • zmiana protokołu jquery.com na https powoduje wyświetlenie ostrzeżenia, jeśli spróbujesz go prosto z paska adresu URL przeglądarki: This is probably not the site you are looking for!
  • lubię korzystać z CDN Google, gdy używam konsoli do eksperymentowania z witrynami Google, takimi jak Gmail.

Moim jedynym problemem jest że muszę podać numer wersji, gdzie w konsoli naprawdę zawsze chcę najnowszą.

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
Author: hippietrail,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:55:03

Bardzo łatwo jest to zrobić ręcznie, jak wyjaśniają Pozostałe odpowiedzi. Ale jest też wtyczka jQuerify .

 5
Author: Ken Redler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-19 16:50:12

FWIW, Firebug osadza specjalne polecenie include, A jQuery jest domyślnie aliasowane: https://getfirebug.com/wiki/index.php/Include

Więc w Twoim przypadku wystarczy wpisać:

include("jquery");

Florent

 5
Author: fflorent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-16 21:21:32

Na ta odpowiedź :

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

Z jakiegoś powodu muszę wykonać go dwa razy, aby uzyskać nową ' $ '(co mam do czynienia z innymi metodami, jak również), ale to działa.

Jest to odpowiednik, jeśli twoja przeglądarka nie jest tak nowoczesna:

fetch('http://code.jquery.com/jquery-latest.min.js').then(function(r){return r.text()}).then(function(r){eval(r)})
 4
Author: vt5491,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-30 04:31:15

Ta odpowiedź na podstawie odpowiedzi @ genesis, na początku próbowałem wersji zakładki @jondavidjohn, i nie działa, więc zmieniam ją na to (dodaj do zakładki):

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

Words of caution, nie jest testowany w chrome, ale działa w Firefoksie i nie jest testowany w środowisku konfliktowym.

 3
Author: whale_steward,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-21 06:36:31

Jednym z najkrótszych sposobów byłoby skopiowanie poniższego kodu do konsoli.

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
Author: developer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-11 15:15:09

Jeśli chcesz to zrobić dla userscript, napisałem to: http://userscripts.org/scripts/show/123588

Pozwoli Ci to jQuery, Plus UI i wszelkie wtyczki, które chcesz. Używam go na stronie, która ma 1.5.1 i nie ma UI; ten skrypt daje mi 1.7.1 zamiast tego, Plus UI, i żadnych konfliktów w Chrome lub FF. Sam nie testowałem opery, ale inni mówili mi, że działa tam również dla nich, więc powinno to być całkiem całkiem kompletne rozwiązanie cross-browser userscript, jeśli po to musisz to zrobić.

 1
Author: BrianFreud,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-22 06:20:06

Jeśli chcesz często używać jQuery z konsoli, możesz łatwo napisać userscript. Najpierw zainstaluj Tampermonkey, Jeśli korzystasz z Chrome i Greasemonkey, jeśli korzystasz z Firefoksa. Napisz prosty userscript za pomocą funkcji use, takiej jak Ta:

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
Author: Asif Mallik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-21 07:30:38

Oto kod alternatywny:

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

Które można wkleić bezpośrednio w konsoli lub utworzyć nową stronę zakładek (w Chrome kliknij prawym przyciskiem myszy na pasku zakładek , Dodaj stronę...) i wklej ten kod jako URL.

Aby sprawdzić, czy to zadziałało, patrz poniżej.

Przed:

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

Po:

$()
[]
 0
Author: kenorb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-29 11:28:39

Intuicyjny one-liner

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

Możesz zmienić adres src.
Odwołałem się do ReferenceError: Can ' t find variable: jQuery

 0
Author: plhn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:25

Rozwiązanie pod klucz:

Umieść swój kod w funkcji yourCode_here. I zapobiegać HTML bez znacznika HEAD.

(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
Author: Hors Sujet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-14 11:30:27