मैं Google Chrome में Greasemonkey स्क्रिप्ट में jQuery का उपयोग कैसे कर सकता हूं?


157

जैसा कि आप में से कुछ को पता होगा, Google Chrome ने Greasemonkey स्क्रिप्ट पर कुछ गंभीर सीमाएं लगाई हैं।

क्रोमियम का समर्थन नहीं करता @require, @resource, unsafeWindow, GM_registerMenuCommand, GM_setValue, या GM_getValue

आवश्यकता के बिना, मुझे Google Chrome के अंतर्गत Greasemonkey स्क्रिप्ट में jQuery लाइब्रेरी को शामिल करने का कोई तरीका नहीं मिल सकता है।

क्या किसी को इस मामले में कुछ सलाह है?


19
यह ध्यान देने योग्य है कि Tampermonkey के साथ Google Chrome के पास @requireअभी के लिए समर्थन है , जो उत्तरों में लोगों की तुलना में कहीं अधिक सरल दृष्टिकोण है।
स्टीन स्कुट

2
टैम्परमॉन्की भी असुरक्षित वाईंडो का समर्थन करता है, जो उन पृष्ठों के लिए बहुत अच्छा है जिनके पास पहले से ही jQuery है। var $ = unsafeWindow.jQuery;
टिम गुडमैन

1
@requireउन साइटों पर बढ़िया काम करता है जहाँ आप हजारों या लाखों अन्य जेएस पुस्तकालयों के साथ संघर्ष करने के बारे में चिंतित नहीं हैं जो लोड होने पर $ करने के लिए बाध्य करते हैं। हालाँकि, यदि आप किसी और चीज़ के लिए $ का उपयोग करते हुए किसी साइट के लिए एक स्क्रिप्ट लिख रहे हैं, या इससे भी बदतर हर साइट पर चलाने के लिए एक स्क्रिप्ट लिख रहे हैं, तो नीचे दिए गए tghw द्वारा स्पष्ट रूप से सुरक्षित लोडिंग तंत्र का उपयोग करें।
GDorn

जवाबों:


192

से ": - एरिक Vold के ब्लॉग का उपयोग कर jQuery उपयोगकर्ता स्क्रिप्ट टिप"

// ==UserScript==
// @name         jQuery For Chrome (A Cross Browser Example)
// @namespace    jQueryForChromeExample
// @include      *
// @author       Erik Vergobbi Vold & Tyler G. Hicks-Wright
// @description  This userscript is meant to be an example on how to use jQuery in a userscript on Google Chrome.
// ==/UserScript==

// a function that loads jQuery and calls a callback function when jQuery has finished loading
function addJQuery(callback) {
  var script = document.createElement("script");
  script.setAttribute("src", "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js");
  script.addEventListener('load', function() {
    var script = document.createElement("script");
    script.textContent = "window.jQ=jQuery.noConflict(true);(" + callback.toString() + ")();";
    document.body.appendChild(script);
  }, false);
  document.body.appendChild(script);
}

// the guts of this userscript
function main() {
  // Note, jQ replaces $ to avoid conflicts.
  alert("There are " + jQ('a').length + " links on this page.");
}

// load jQuery and execute the main function
addJQuery(main);

'लोड' के लिए addEventListener के अंदर 3 लाइनों के बजाय, "कॉलबैक ()" नहीं होगा; सिर्फ काम?
crdx

6
मेरे पेज में पहले से ही jQuery शामिल है, लेकिन ऐसा लगता है कि उपर्युक्त कोड को अभी भी उपयोगकर्तास्क्रिप्ट में jQuery का उपयोग करने की आवश्यकता है। हालांकि, दो jQuery में एक संघर्ष हो सकता है, इसलिए आपके मुख्य () फ़ंक्शन की पहली पंक्ति को jQuery.noConflict () होना चाहिए;
23

2
मैंने अपने स्वयं के उपयोगकर्ता स्क्रिप्ट टेम्प्लेट में लाइन script.textContent = "(" + callback.toString() + ")();";को संशोधित किया है script.textContent = "jQuery.noConflict();(" + callback.toString() + ")();";ताकि कोई भी आश्चर्यजनक टकराव न हो। :)
RCE

1
@hippietrail में main(), आप उपयोग कर सकते हैं $.loadScript(), और फिर लोड की गई jQueryUI लोड हो जाने पर बाकी सब कुछ चला सकते हैं ।
tghw

1
-1: उस पद्धति के साथ, mainलक्ष्य पृष्ठ के संदर्भ में कोड कार्यान्वित होगा, जिसका अर्थ है कि (अन्य बातों के अलावा) लक्ष्य पृष्ठ की क्रॉस-साइट अनुरोध नीति लागू होती है - (जैसे मुझे GM_xmlhttpRequestयह देखने से पहले पुष्ट करना था कि यह किया था मेरी मदद नहीं)। अंत में मैं बस के कोड को कॉपी करता हूं jquery.min.js
जीन होमिनल

43

मैंने दस्तावेज़ में फ़ंक्शंस, कोड और अन्य स्क्रिप्ट चलाने में मदद करने के लिए एरिक वोल्ड की स्क्रिप्ट पर आधारित कुछ फ़ंक्शन लिखे हैं । आप उन्हें पेज में jQuery लोड करने के लिए उपयोग कर सकते हैं और फिर वैश्विक windowदायरे में कोड चला सकते हैं ।

उदाहरण उपयोग

// ==UserScript==
// @name           Example from http://stackoverflow.com/q/6834930
// @version        1.3
// @namespace      http://stackoverflow.com/q/6834930
// @description    An example, adding a border to a post on Stack Overflow.
// @include        http://stackoverflow.com/questions/2246901/*
// ==/UserScript==

var load,execute,loadAndExecute;load=function(a,b,c){var d;d=document.createElement("script"),d.setAttribute("src",a),b!=null&&d.addEventListener("load",b),c!=null&&d.addEventListener("error",c),document.body.appendChild(d);return d},execute=function(a){var b,c;typeof a=="function"?b="("+a+")();":b=a,c=document.createElement("script"),c.textContent=b,document.body.appendChild(c);return c},loadAndExecute=function(a,b){return load(a,function(){return execute(b)})};

loadAndExecute("//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js", function() {
    $("#answer-6834930").css("border", ".5em solid black");
});

आप इसे स्थापित करने के लिए यहां क्लिक कर सकते हैं , यदि आपको भरोसा है कि मैं आपको कुछ दुर्भावनापूर्ण स्थापित करने में विफल करने की कोशिश नहीं कर रहा हूं और किसी ने कुछ और इंगित करने के लिए मेरी पोस्ट को संपादित नहीं किया है। पृष्ठ को फिर से लोड करें और आपको मेरी पोस्ट के चारों ओर एक सीमा दिखनी चाहिए।

कार्य

load(url, onLoad, onError)

urlदस्तावेज़ में स्क्रिप्ट लोड करता है । वैकल्पिक रूप से, कॉलबैक के लिए onLoadऔर प्रदान किया जा सकता है onError

execute(functionOrCode)

किसी फ़ंक्शन या कोड के स्ट्रिंग को दस्तावेज़ में सम्मिलित करता है और इसे निष्पादित करता है। कार्यों को सम्मिलित करने से पहले स्रोत कोड में बदल दिया जाता है, इसलिए वे अपना वर्तमान दायरा / बंद खो देते हैं और वैश्विक windowदायरे के नीचे चलाए जाते हैं ।

loadAndExecute(url, functionOrCode)

एक लघुपरिपथ; यह एक स्क्रिप्ट को लोड urlकरता है, फिर सम्मिलित करता है और functionOrCodeयदि सफल होता है तो निष्पादित करता है ।

कोड

function load(url, onLoad, onError) {
    e = document.createElement("script");
    e.setAttribute("src", url);

    if (onLoad != null) { e.addEventListener("load", onLoad); }
    if (onError != null) { e.addEventListener("error", onError); }

    document.body.appendChild(e);

    return e;
}

function execute(functionOrCode) {
    if (typeof functionOrCode === "function") {
        code = "(" + functionOrCode + ")();";
    } else {
        code = functionOrCode;
    }

    e = document.createElement("script");
    e.textContent = code;

    document.body.appendChild(e);

    return e;
}

function loadAndExecute(url, functionOrCode) {
    load(url, function() { execute(functionOrCode); });
}

@cyphunk हाँ, यह मेरे लिए उन कुछ पात्रों को बचाने के लिए महत्वपूर्ण था। वास्तव में, मैं इस पद का उपयोग करते हुए बहुत विनम्रतापूर्वक महसूस कर रहा हूं। मैं इसे हटा दूंगा।
जेरेमी बैंक्स

18

कॉल करके, संघर्ष के डर के बिना jQuery का उपयोग करें jQuery.noConflict(true)। इस तरह:

function GM_main ($) {
    alert ('jQuery is installed with no conflicts! The version is: ' + $.fn.jquery);
}

add_jQuery (GM_main, "1.7.2");

function add_jQuery (callbackFn, jqVersion) {
    jqVersion       = jqVersion || "1.7.2";
    var D           = document;
    var targ        = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
    var scriptNode  = D.createElement ('script');
    scriptNode.src  = 'http://ajax.googleapis.com/ajax/libs/jquery/'
                    + jqVersion
                    + '/jquery.min.js'
                    ;
    scriptNode.addEventListener ("load", function () {
        var scriptNode          = D.createElement ("script");
        scriptNode.textContent  =
            'var gm_jQuery  = jQuery.noConflict (true);\n'
            + '(' + callbackFn.toString () + ')(gm_jQuery);'
        ;
        targ.appendChild (scriptNode);
    }, false);
    targ.appendChild (scriptNode);
}


लेकिन, क्रॉस-ब्राउज़र स्क्रिप्ट के लिए, जब आप कर सकते हैं, तो jQuery की एक अच्छी, तेज, स्थानीय प्रति का लाभ क्यों न लें?

निम्न Chrome उपयोगकर्ता स्क्रिप्ट और Greasemonkey स्क्रिप्ट के रूप में काम करता है, और यह @requirejQuery की अच्छी स्थानीय प्रतिलिपि का उपयोग करता है , यदि प्लेटफ़ॉर्म इसका समर्थन करता है।

// ==UserScript==
// @name     _Smart, cross-browser jquery-using script
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant    GM_info
// ==/UserScript==

function GM_main ($) {
    alert ('jQuery is installed with no conflicts! The version is: ' + $.fn.jquery);
}

if (typeof jQuery === "function") {
    console.log ("Running with local copy of jQuery!");
    GM_main (jQuery);
}
else {
    console.log ("fetching jQuery from some 3rd-party server.");
    add_jQuery (GM_main, "1.7.2");
}

function add_jQuery (callbackFn, jqVersion) {
    var jqVersion   = jqVersion || "1.7.2";
    var D           = document;
    var targ        = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
    var scriptNode  = D.createElement ('script');
    scriptNode.src  = 'http://ajax.googleapis.com/ajax/libs/jquery/'
                    + jqVersion
                    + '/jquery.min.js'
                    ;
    scriptNode.addEventListener ("load", function () {
        var scriptNode          = D.createElement ("script");
        scriptNode.textContent  =
            'var gm_jQuery  = jQuery.noConflict (true);\n'
            + '(' + callbackFn.toString () + ')(gm_jQuery);'
        ;
        targ.appendChild (scriptNode);
    }, false);
    targ.appendChild (scriptNode);
}

3
+1 प्रभावशाली, इन सभी उत्तरों में से आपका केवल वही है जो @require का उपयोग करने के लिए कहता है, आप यह भी उपयोग कर सकते हैं $ = unsafeWindow.jQueryकि क्या पृष्ठ में jQuery है (मैंने केवल टेम्परमॉन्की में इसका परीक्षण किया है)।
AMK

कैविएट: IE के कुछ संस्करणों में कंसोल.लॉग () नहीं है, जब तक कि आपने देव टूल इंस्टॉल नहीं किया है, इसलिए स्क्रिप्ट क्रैश हो जाएगी। आमतौर पर आपको यह केवल तभी पता चलता है जब आपने डेवलपर्स और क्यूए लोक से परे अपनी स्क्रिप्ट जारी की है।
परसिंगपेज़

1
@Parsingphase, IE यहाँ बहुत NA है। पिछले मैंने जाँच की, IE अभी भी अच्छी तरह से (all?) के उपयोगकर्ताओं का समर्थन नहीं करता है। IE 10 के साथ बदल गया है?
ब्रॉक एडम्स

बिज्जू - अच्छी बात है, मैं अपने सिर में IE की असंगति मैट्रिक्स रखने में विफल रहता हूं। इसलिए, सीधे उपयोगकर्ताओं के लिए लागू नहीं होता है (हालांकि ऐसा प्रतीत होता है कि लोग कभी-कभार IE समाधान लागू करने की कोशिश करते हैं), लेकिन सामान्य आचार का अधिक।
परसिंगपेज़

15

यदि पृष्ठ में पहले से ही jQuery है, तो बस इस टेम्पलेट का पालन करें:

// ==UserScript==
// @name          My Script
// @namespace     my-script
// @description   Blah
// @version       1.0
// @include       http://site.com/*
// @author        Me
// ==/UserScript==

var main = function () {

    // use $ or jQuery here, however the page is using it

};

// Inject our main script
var script = document.createElement('script');
script.type = "text/javascript";
script.textContent = '(' + main.toString() + ')();';
document.body.appendChild(script);

मुझे नहीं लगता कि यह काम करता है क्योंकि उपयोगकर्तालेख में दस्तावेज़ विंडो तक पहुंच नहीं है?
क्रिस्टोफ

@Christoph यह काम करता है, मेरे पास है और मैं अभी भी एक का उपयोग कर रहा userscript इस पद्धति का उपयोग।
Mottie

1
यह वास्तव में पृष्ठ में greasemonkey स्क्रिप्ट को इंजेक्ट कर रहा है। तो शायद कुछ सुरक्षा उपायों से गुजरता है जो कि ग्रीसीमोनीक के पास है।
थाइमिन

1
@ थाइमीन मैंने देखा है कि यह विधि उपयोगकर्तास्क्रिप्ट को अवांछित पृष्ठों में इंजेक्ट करती है। मुझे एक ifबयान में इंजेक्शन भाग को लपेटना है जो जांच करता है window.location
मत्ती २१'१३

12

सरल तरीका requiredकीवर्ड का उपयोग कर रहा है :

// @require     http://code.jquery.com/jquery-latest.js

यह केवल विस्तार कार्यान्वयन द्वारा समर्थित है।
user2284570

@ user2284570 यह किसी भी ब्राउज़र के लिए मुझे मिल सकने वाले हर यूजरस्क्रिप्ट एक्सटेंशन द्वारा समर्थित है।
मैट एम।

@MattM। मेरा मतलब है कि आपको उपयोगकर्ताओं को चलाने के लिए ओपेरा और क्रोम पर एक्सटेंशन स्थापित नहीं करना है।
user2284570

7

Chrome स्क्रिप्ट के लिए jQuery की एक पूरी प्रतिलिपि सहित आसपास पाने के लिए वास्तव में आसान तरीका है जब वे स्क्रिप्ट वास्तव में किसी भी विशेषाधिकार प्राप्त सुविधाओं (GM_ * फ़ंक्शन, आदि) का उपयोग नहीं करते हैं ...

बस डोम डोम में ही स्क्रिप्ट डालें और निष्पादित करें! सबसे अच्छी बात यह है कि यह तकनीक फ़ायरफ़ॉक्स + ग्रीसेमनीकेज़ पर भी काम करती है, इसलिए आप दोनों के लिए एक ही स्क्रिप्ट का उपयोग कर सकते हैं:

var script = document.createElement("script");
script.type = "text/javascript";
script.textContent = "(" + threadComments.toString() + ")(jQuery)";
document.body.appendChild(script);

function threadComments($) {
    // taken from kip's http://userscripts-mirror.org/scripts/review/62163
    var goodletters = Array('\u00c0','\u00c1','\u00c2','\u00c3','\u00c4','\u00c5','\u00c6','\u00c7'
                             ,'\u00c8','\u00c9','\u00ca','\u00cb','\u00cc','\u00cd','\u00ce','\u00cf'
                                      ,'\u00d1','\u00d2','\u00d3','\u00d4','\u00d5','\u00d6'         
                             ,'\u00d8','\u00d9','\u00da','\u00db','\u00dc','\u00dd'                  
                             ,'\u00e0','\u00e1','\u00e2','\u00e3','\u00e4','\u00e5','\u00e6','\u00e7'
                             ,'\u00e8','\u00e9','\u00ea','\u00eb','\u00ec','\u00ed','\u00ee','\u00ef'
                                      ,'\u00f1','\u00f2','\u00f3','\u00f4','\u00f5','\u00f6'         
                             ,'\u00f8','\u00f9','\u00fa','\u00fb','\u00fc','\u00fd'         ,'\u00ff').join('');

    // from Benjamin Dumke's http://userscripts-mirror.org/scripts/review/68252
    function goodify(s)
      {
         good = new RegExp("^[" + goodletters + "\\w]{3}");
         bad = new RegExp("[^" + goodletters + "\\w]");
         original = s;
         while (s.length >3 && !s.match(good)) {
            s = s.replace(bad, "");
            }
         if (!s.match(good))
         {
           // failed, so we might as well use the original
           s = original;
         }
         return s;
      }  

    in_reply_to = {};


    function who(c, other_way) {


        if (other_way)
        {
            // this is closer to the real @-reply heuristics
            m = /@(\S+)/.exec(c);
        }
        else
        {
            m = /@([^ .:!?,()[\]{}]+)/.exec(c);
        }
        if (!m) {return}
        if (other_way) {return goodify(m[1]).toLowerCase().slice(0,3);}
        else {return m[1].toLowerCase().slice(0,3);}
    }

    function matcher(user, other_way) {
        if (other_way)
        {
            return function () {
                return goodify($(this).find(".comment-user").text()).toLowerCase().slice(0,3) == user
                }
        }
        else
        {
            return function () {
                return $(this).find(".comment-user").text().toLowerCase().slice(0,3) == user
                }
        }
    }

    function replyfilter(id) {
        return function() {
            return in_reply_to[$(this).attr("id")] == id;
        }
    }

    function find_reference() {
        comment_text = $(this).find(".comment-text").text();
        if (who(comment_text))
        {
            fil = matcher(who(comment_text));
            all = $(this).prevAll("tr.comment").filter(fil);
            if (all.length == 0)
            {
                // no name matched, let's try harder
                fil = matcher(who(comment_text, true), true);
                all = $(this).prevAll("tr.comment").filter(fil);
                if (all.length == 0) {return}
            }
            reference_id = all.eq(0).attr("id");
            in_reply_to[$(this).attr("id")] = reference_id;
        }
    }


    // How far may comments be indented?
    // Note that MAX_NESTING = 3 means there are
    // up to *four* levels (including top-level)
    MAX_NESTING = 3

    // How many pixels of indentation per level?
    INDENT = 30

    function indenter(parent) {

        for (var i = MAX_NESTING; i > 0; i--)
        {
            if (parent.hasClass("threading-" + (i-1)) || (i == MAX_NESTING && parent.hasClass("threading-" + i)))
            {
                return function() {
                    $(this).addClass("threading-" + i).find(".comment-text").css({"padding-left": INDENT*i});
                }
            }
        }

        return function() {
            $(this).addClass("threading-1").find(".comment-text").css({"padding-left": INDENT});
        }

    }

    function do_threading(){
        id = $(this).attr("id");
        replies = $(this).nextAll("tr.comment").filter(replyfilter(id));
        ind = indenter($(this));
        replies.each(ind);
        replies.insertAfter(this);
    }

    function go() {
        $("tr.comment").each(find_reference);
        $("tr.comment").each(do_threading);
    }

    $.ajaxSetup({complete: go});
    go();
}

(unapologetically meta.stackoverflow पर Shog9 से चुराया गया क्योंकि उसने इसे यहाँ स्थानांतरित नहीं किया था, और मुझे मेटा पोस्ट को हटाना होगा ..)


4

साथ ही, आप अपनी स्क्रिप्ट को jQuery से Chrome एक्सटेंशन में पैक कर सकते हैं। देखGoogle Chrome की सामग्री लिपियों को

Greasemonkey स्क्रिप्ट के विपरीत क्रोम एक्सटेंशन, स्वयं को अपडेट कर सकते हैं।


2
हाँ, यह आसान होगा। लेकिन मैं वास्तव में अभी के लिए userscripts.org के माध्यम से अपनी स्क्रिप्ट को बनाए रखना पसंद करता हूं, और Google एक्सटेंशन रिपॉजिटरी के साथ अतिरेक पैदा नहीं करता।
Alekc

4
और Google वेब स्टोर पर अपलोड करने के लिए $ 5 का खर्च आता है।
कैमिलो मार्टिन

4

आसान समाधान: jquery.min.js की सामग्री को अपने उपयोगकर्ता स्क्रिप्ट के शीर्ष पर काटें + पेस्ट करें। किया हुआ।

मुझे अनुशंसित उत्तरों के साथ विभिन्न समस्याएं मिलीं। AddJQuery () समाधान अधिकांश पृष्ठों पर काम करता है, लेकिन कई पर कीड़े हैं। यदि आप मुद्दों में भाग लेते हैं तो अपनी स्क्रिप्ट में jquery सामग्री को कॉपी + पेस्ट करें।


हाँ, मुझे लगता है कि यह सबसे अधिक समझ में आता है, क्योंकि यहां तक ​​कि एक छोटी सी बिल्ड स्क्रिप्ट को राइट भी कर सकता है जो कि आपके द्वारा यहां सुझाए गए तरीके से एक क्रोम संस्करण उत्पन्न करता है।
dkinzer

2

मुझे आश्चर्य है कि अगर आप document.defaultView.jQueryअपने जीएम स्क्रिप्ट अला पर भरोसा नहीं कर सकते :

if (document.defaultView.jQuery) {
  jQueryLoaded(document.defaultView.jQuery);
} else {
  var jq = document.createElement('script');
  jq.src = 'http://jquery.com/src/jquery-latest.js';
  jq.type = 'text/javascript';
  document.getElementsByTagName('head')[0].appendChild(jq);
  (function() { 
    if (document.defaultView.jQuery) jQueryLoaded(document.defaultView.jQuery);
    else setTimeout(arguments.callee, 100);
  })();
}

function jQueryLoaded($) {
  console.dir($);
}

1

एक और तरीका यह होगा कि आप jQuery को मैन्युअल रूप से लोड करने के लिए अपनी स्क्रिप्ट को संशोधित करें। से उदाहरण http://joanpiedra.com/jquery/greasemonkey/ :

// Add jQuery
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://jquery.com/src/jquery-latest.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);

// Check if jQuery's loaded
function GM_wait() {
    if(typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait,100); }
else { $ = unsafeWindow.jQuery; letsJQuery(); }
}
GM_wait();

// All your GM code must be inside this function
function letsJQuery() {
    alert($); // check if the dollar (jquery) function works
}

संपादित करें: DRATS! परीक्षण के बाद यह प्रतीत होता है कि यह कोड काम नहीं करता है क्योंकि Google Chrome वास्तविक वेबपेज से अलग दायरे / प्रक्रिया में उपयोगकर्ता / एक्सटेंशन चलाता है। आप एक XmlhttpRequest का उपयोग करके jQuery कोड डाउनलोड कर सकते हैं और फिर इसे Eval कर सकते हैं, लेकिन आपको एक सर्वर पर कोड को होस्ट करना होगा जो Access-Control-Allow-Origin: *हेडर का उपयोग करके क्रॉस- ऑरिजिनल रिसोर्स शेयरिंग की अनुमति देता है । JQuery के साथ मौजूदा CDNs का दुख की बात यह समर्थन करते हैं।


-1

Chrome कंसोल में jQuery एम्बेड करने के लिए सही विस्तार जितना आसान आप कल्पना कर सकते हैं। यदि jQuery को पहले ही पृष्ठ में एम्बेड कर दिया गया है तो यह एक्सटेंशन भी रद्द कर देता है।

यह एक्सटेंशन jQuery को आपके इच्छित पेज पर एम्बेड करने के लिए उपयोग किया जाता है। यह कंसोल शेल में jQuery का उपयोग करने की अनुमति देता है (आप "Ctrl + Shift + j" द्वारा क्रोम कंसोल को लागू कर सकते हैं)।

चयनित टैब में jQuery एम्बेड करने के लिए extention बटन पर क्लिक करें।

विस्तार के लिए लिंक: https://chrome.google.com/extensions/detail/gbmifchmngifmadobkcpijhhldeeelkc


यह वास्तव में जवाब नहीं है। और अगर मुझे ज़रूरत नहीं है तो मैं jQuery क्यों लोड करना चाहूंगा?
Vik
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.