JavaScript 콘솔에 jQuery 포함


772

jQuery를 사용하지 않는 사이트에 대해 Chrome JavaScript 콘솔에 jQuery를 포함시키는 쉬운 방법이 있습니까? 예를 들어, 웹 사이트에서 테이블의 행 수를 가져오고 싶습니다. jQuery를 사용하면 이것이 매우 쉽다는 것을 알고 있습니다.

$('element').length;

이 사이트는 jQuery를 사용하지 않습니다. 명령 행에서 추가 할 수 있습니까?


3
보다 자동화 된 접근 방식의 경우 사용자 스크립트를 사용하여 포함시킬 수 있습니다. 진지하게 이것은 5 줄 사용자 스크립트와 같습니다 : P
rlemon

9
document.getElementById('tableID').rows.length. 테이블에 ID가 없으면 DOM 편집기를 사용하여 ID를 지정하십시오. 너무 사소한 일을 위해 jQuery가 필요하지 않습니다.
어둠의 절대자 니트

이를위한 크롬 확장 프로그램이 있습니다 – chrome.google.com/webstore/detail/script-injector/…
Abhishek Saha

1
cdn 또는 로컬로 스크립트 태그에 추가하십시오. CDN이 훨씬 간단합니다.
Donato

1
나는 대부분의 주요 브라우저의 Dev Tools에 기본적으로 jQuery (및 Underscore와 같은 다른 인기있는 라이브러리)가 포함되어 있지만 문서를 찾을 수는 없다고 생각합니다. 일반적으로 Just Works (tm) 콘솔을 엽니 다. ------ 또한,이 접근 방식은 오랫동안 여러 사람들이 편리한 북마크에 내장 해 왔습니다. 나는 성공적으로이 일을 사용하고 있습니다 : learningjquery.com/2009/04/...를 .
brichins

답변:


1377

브라우저의 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. 예를 들어 Inject jQuery와 같이 이름을 지정하고 URL에 다음 줄을 사용하십시오.

javascript :( 함수 (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 / 버전을 자유롭게 사용하십시오.


180
이 스 니펫은 저에게 효과적이지 않았습니다. 이유를 알아낼 시간이 없었습니다. 그냥 복사 code.jquery.com/jquery-latest.min.js 파일 내용을 콘솔에 붙여 넣기. 완벽하게 작동합니다.
Ruslanas Balčiūnas

9
이제 크롬 콘솔 단축키가 필요합니다 ^^. 이 스 니펫을 사용하고 여기로 돌아가서 가져옵니다.
Cris Stringfellow

6
@CrisStringfellow-AKAIK 작품에 개발자 스 니펫 기능이 있으며 확인하고 기능이 있는지 확인하십시오 chrome:flags.
ocodo

2
@Slomojo 나는 유머 감각을 즐기고 있습니다. 바라건대 군주들이 듣고 있기 때문에 DIY b-tree 채널을 밀어 붙일 수 있습니다. 또한 모든 실험이 그렇게 유용하게 분류되는 방식을 특히 좋아합니다. 나는 그들이 해시 값으로 분류했다고 생각합니다.
Cris Stringfellow

2
이 배송에 문제가 있었지만 여기있는 stackoverflow.com/a/8225200/497208 이 저를 위해 일했습니다
Jakub M.

227

콘솔에서 이것을 실행하십시오.

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

새 스크립트 태그를 작성하고 jQuery로 채우고 헤드에 추가합니다.


감사합니다! (레코드의 경우, "Uncaught TypeError : $ is a function is"라는 메시지가 표시되었으며,이를 실행 한 후 $ -selector 함수를 정상적으로 사용하고 연결할 수있었습니다.)
Ayelis

5
예를 들어 Facebook에서 보안 메시지가 표시되면 자바 스크립트 콘솔에서 jquery.js 콘텐츠를 복사 / 붙여 넣기 만하면됩니다.
Thomas Decaux

1
@genesis에서 완벽하게 작동합니다! 2017 년 MS Edge 브라우저.
Eric Hepperle-CodeSlayer2010

이것은 완벽하게 작동하며 생명의 은인입니다! 다른 제안보다 훨씬 간단하고 간단합니다.
Erica Summers

85

https://code.jquery.com/jquery-3.4.1.min.js 에서 모든 것을 복사
하십시오.

콘솔에 붙여 넣습니다. 완벽하게 작동합니다.


12
매력처럼 작동합니다! 또한 '콘텐츠 보안 정책 지침'으로 인해 불가능한 DOM에 스크립트를 추가하지 않습니다. ' ajax.googleapis.com/ajax/libs/jquery/1/jquery.js ' 스크립트 가 다음 콘텐츠 보안 정책 지침을 위반하기 때문에 'script-src. ..
Kangur 2013

1
먼저 $ 변수가 있는지 확인하십시오. jQuery가 아닌 경우 아마도 $ var에서 jQuery를 유지해야합니다. 위의 스크립트 유형을 호출 한 후 : $ .noConflict ()
Kangur

나는 그들 중 누구도 나를 사용할 수 없을 것입니다 .. 3 라인 대답의 다양한 사용하여 시도 jQuery또는 $. 이 솔루션 만 작동했습니다. 그리고 요즘에는 로그 콘솔을 너무 많이 사용하지 않기 때문에 항상 명령 기록에 있으므로 내용을 처음으로 복사 한 후 위쪽 화살표를 누른 다음 입력해야합니다. 매우 시원합니다-감사합니다
Gene Bo

부드러운 대답.! 답변으로 귀하의 최고 의견을 찾고있었습니다! 큰.
Irf

웹 3.0은 그 어느 때보 다 아름답게 보입니다.
undercat 박수 모니카

63

jQueryify 소책자를 사용하십시오.

http://marklets.com/jQuerify.aspx

다른 답변에 코드를 붙여 넣는 대신 클릭 가능한 북마크가됩니다.


4
다른 답변도 북마크릿에 복사 할 수 있습니다 ..... 그냥 URL 인코딩하고 javascript:앞에 추가 하십시오.
d -_- b

td 요소를 수정하는 jQuery 호출은 무엇입니까? 그것은 조금 무작위 적이거나 위험한 것으로 보입니다. "td.editselectoption [value = BN]"...
킴볼 로빈슨

페이스 북은 말한다 :Content Security Policy: The page’s settings blocked the loading of a resource at https://code.jquery.com/jquery-latest.min.js (“script-src”).
Rishabh 인스 Agrahari

30

@jondavidjohn의 답변에 추가하여 URL을 자바 스크립트 코드로 사용하여 북마크로 설정할 수도 있습니다.

이름 : 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);

Chrome 또는 Firefox의 툴바에 추가하여 스크립트를 계속 붙여 넣는 대신 북마크릿을 클릭하면됩니다.

북마크의 스크린 샷


2
2 개선 : 1) 스크립트를로드하는 데 시간이 걸리므로 if (jQuery) ...는 거의 항상 실패합니다. 로드를 지연시키기 위해 setTimeout을 추가하는 것이 좋습니다. 2) jquery-latest를 사용하지 마십시오. 실제로 최신 버전이 아니며 사용이 더 이상 사용되지 않습니다 (이 블로그를 참조 하십시오 .jquery.com / 2014 / 07 / 03 / dont -use-jquery-latest- js )
Giuseppe Bertone

jQuery.noConflict();그것이 내가에이 테스트 된 임의의 사이트에없는 일을 표시했다. 그들은 이미 jQuery를 가지고 있었지만 $어떤 이유로 jQuery에는 단축키 가 없습니다 . 스크린 샷 : prntscr.com/bdcpdh .
Rani Kheir 2016 년

22

나는 반역자입니다.

솔루션 : jQuery를 사용하지 마십시오. jQuery는 브라우저에서 DOM 불일치를 추상화하는 라이브러리입니다. 자신의 콘솔에 있기 때문에 이런 종류의 추상화가 필요하지 않습니다.

예를 들어 :

$$('element').length

( $$의 별칭입니다document.querySelectorAll 콘솔에서 입니다.)

다른 예를 들면 : 무엇이든 찾을 수있을 것입니다. 특히 최신 브라우저 (Chrome, FF, Safari, Opera)를 사용하는 경우.

또한 DOM의 작동 방식을 아는 사람도 아프지 않으며 jQuery 수준을 높일뿐입니다 (예, 자바 스크립트에 대해 더 많이 배우면 jQuery를 더 잘 활용할 수 있음).


4
Florian이라는 아이디어에 감사드립니다. jQuery를 사용하는 사람은 누구나 자바 스크립트를 알아야한다는 것에 동의합니다. jQuery를로드하면 DOM 불일치를 추상화하기 때문에 시간을 크게 절약 할 수 있습니다. 선택기 엔진 sizzle은 기본 자바 스크립트 호출보다 훨씬 강력합니다. 같은 뭔가를 조회하는 것은 $('div.className').children().hasClass('active').filter( function(index) { ... });일반 JS의 악몽이 될 것입니다.
mrtsherman

7
당신은 의미 document.querySelectorAll('div.className .active').filter(function(index) {})합니까? : p
Florian Margaine

6
@FlorianMargaine [].slice.call( document.querySelectorAll('div.className .active') ).filter...그러나 예 요점은 최신 브라우저를 사용하는 경우 jQuery가 없어도 고통스럽지 않습니다. :)
Esailija

5
당신은 반란군이 아닙니다, 대신에, 당신은 시간을 더 낭비하는 것을 좋아하는 것 같습니다 :)
Anderson Fortaleza

1
@DavidWest :1는 의사 선택기가 아닙니다. 어쩌면 당신은 :first-child원합니까?
Florian Margaine

12

방금 오류 처리 기능이있는 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...")}}})())

읽을 수있는 소스 코드는 여기에 있습니다


.js 파일의 URL을 업데이트해야하지만 잘 작동합니다.
dsomnus

어쩌면 이것을 사용하려는 웹 사이트가 사용자 정의 Content-Security-Policy 헤더를 보냅니다.
fnkr

8

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

1
' ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js ' 스크립트 가 다음 콘텐츠 보안 정책 지침을 위반하기 때문에 'script- src'self ''unsafe-inline ' '안전하지 않은 평가' '. 'script-src-elem'이 명시 적으로 설정되지 않았으므로 'script-src'가 폴백으로 사용됩니다.
Dimmduh

7

이 답변 :

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

어쩌면 비동기식으로 실행되기 때문에 이것이 JS 콜백 및 약속 작동 방식입니다. 따라서 스크립트가 실행되도록하려면 fetch promise의 'then'콜백 내에서 자체 코드를 실행해야합니다 fetch('http://code.jquery.com/jquery-latest.min.js').then(response => response.text()).then(text => { eval(text); console.log($) }). 이것이 도움이되기를 바랍니다.
Maciej Bukowski

그것은 나를 위해 작동하지 않았다. 그러나 마지막 블록에서 두 evals있는 것은 작품 fetch('http://code.jquery.com/jquery-latest.min.js').then(response => response.text()).then(text => { eval(text); eval(text) }). 이것은 두 번 해야하는 것보다 확실한 개선입니다.
vt5491

콘텐츠 정책에 문제가있는 경우에 적합합니다
Alexey Sh.

5

다른 답변에서 설명하는 것처럼 수동으로 수행하는 것은 매우 쉽습니다. 그러나 jQuerify 플러그인 도 있습니다 .


+1-고마워 켄. jQuerify라는 단어는 내가 이것을하기 위해 북마크릿을 만들었다는 것을 상기시켰다. 내가 사용한 코드가있는 자체 답변을 추가했습니다. 나는 내가 =) 전에 이것을했음을 알았다.
mrtsherman

2
이 링크가 질문에 대한 답변을 제공 할 수 있지만 여기에 답변의 필수 부분을 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않을 수 있습니다. - 검토에서
adamb

불행히도 @adamb는 오래된 링크가 쇠퇴하는 경향과 함께이 오래된 답변 중 일부를 개선하기위한 시간과 동기가 수년에 걸쳐 동시에 사라졌습니다. 그러나 SO의 설계 덕분에 항상 진심으로 감사하는 엔트로피와의 투쟁에 기여하는 해답을 스스로 개선 할 수 있습니다.
Ken Redler

5

FWIW, Firebug에는 include특수 명령이 포함되어 있으며 jquery의 기본 별칭은 https://getfirebug.com/wiki/index.php/Include입니다.

따라서 귀하의 경우 다음을 입력하면됩니다.

include("jquery");

플로랑


실제로 include("http://code.jquery.com/jquery-latest.min.js", "jquery")처음 사용하는 것입니다. 당신은 단지 include("jquery");오류가 발생하면 Alias 'jquery' not found.. include("jquery");다른 탭 / 도메인에서 동일한 라이브러리를 재사용하기위한 것입니다.
machineaddict

1
Firebug 1.11.4 이후 (기본적으로이 릴리스 이전에 별칭을 정의하지 않은 경우) : code.google.com/p/fbug/issues/detail?id=6133 (참고 :이 기능의 저자는 다음과 같습니다. ))
fflorent

Firebug 1.12.8이 있는데 include("jquery")콘솔로 실행하는 동안 Google에 오류가 발생 한다고 가정 해 봅시다 .
machineaddict

흠, 최신 공식 버전 인 Firebug 2.0.8을 사용해야합니다. 또한 include ( "jquery")가 작동하지 않는 이유는 앞서 언급 한 것처럼 버전 1.11.4 이전에 별명을 작성했기 때문에 명확하게 나타납니다. 파이어 폭스 프로파일에서 includeAliases.json파일 ( include()별명 포함 )을 제거하면 작동합니다.
fflorent

3

이 답변은 @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')}());

주의 사항은 크롬에서 테스트되지 않지만 파이어 폭스에서 작동하며 충돌 환경에서는 테스트되지 않은 것입니다.


2

가장 짧은 방법 중 하나는 아래 코드를 콘솔에 붙여 넣는 것입니다.

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

1

사용자 스크립트를 위해이 작업을 수행하려는 경우 http://userscripts.org/scripts/show/123588을 작성했습니다.

jQuery와 UI 및 원하는 플러그인을 포함시킬 수 있습니다. 1.5.1이 있고 UI가없는 사이트에서 사용하고 있습니다. 이 스크립트는 대신 1.7.1과 UI를 제공하며 Chrome 또는 FF에서 충돌이 없습니다. 나는 Opera를 직접 테스트하지는 않았지만 다른 사람들은 그것이 그들에게도 효과가 있다고 말했습니다. 그래서 이것이 당신이 이것을 해야하는 경우 완벽한 크로스 브라우저 사용자 스크립트 솔루션이어야합니다.


1

대체 코드는 다음과 같습니다.

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

콘솔에서 직접 붙여 넣거나 새로운 북마크 페이지를 만들 수있는합니다 (마우스 오른쪽 버튼으로 클릭 크롬을 즐겨 바 , 페이지 추가 ... ) 및 URL로이 코드를 붙여 넣습니다.

그것이 작동하는지 테스트하려면 아래를 참조하십시오.

전에:

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

후:

$()
[]

1

콘솔에서 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;
    }
}

1

턴키 솔루션 :

코드를 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>");
}


1

최신 브라우저 (Chrome, Firefox, Safari에서 테스트) 는 jQuery와 매우 유사한 달러 기호 를 사용하여 일부 도우미 기능구현$ 합니다 (웹 사이트에서를 사용하여 무언가를 정의하지 않은 경우 window.$).

이러한 유틸리티는 DOM에서 요소를 선택하고 수정하는 데 매우 유용합니다.

문서 : Chrome , Firefox


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.