如何注入jquery到任何网页

这个问题在这里已经有了答案:

  • 如何在另一个JavaScript文件中包含JavaScript文件? 51个答案

  • 这是一个在任何网页上注入jquery的书签代码:

    javascript:(function() {
        function l(u, i) {
            var d = document;
            if (!d.getElementById(i)) {
                var s = d.createElement('script');
                s.src = u;
                s.id = i;
                d.body.appendChild(s);
            }
        }
        l('//code.jquery.com/jquery-3.2.1.min.js', 'jquery')
    })();
    

    更新:我从每个@Monkpit评论的URL中删除了http:部分,这非常重要,并且节省了很多问题。


    由于您正在异步加载jQuery,所以jQuery变量不能立即使用。 这意味着你不能在下一行使用jQuery; 你需要等到浏览器加载jQuery并执行它。

    解决方案是使用以下技术之一:

  • 使用延迟(假设脚本在x秒后加载)
  • 使用轮询(每x毫秒检查一次typeof jQuery === "function"
  • 使用回调参数(追加查询字符串,例如?callback=scriptloaded ,需要服务器端支持)
  • 使用脚本元素的onload事件,如下所述
  • function injectScriptAndUse() {
      var head = document.getElementsByTagName("head")[0];
      var script = document.createElement("script");
      script.src = "//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js";
      script.onload = function() {
        $("p").css("border", "3px solid red");
      };
      head.appendChild(script);
    }
    <p>Paragraph</p>
    <button onclick="injectScriptAndUse();">Click to load jQuery and change style of the paragraph</button>

    你在第8行忘了分号。这是没有错误的代码:

    javascript:var x = document.getElementsByTagName("head")[0];
    var y = document.createElement("script");
    y.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js";
    x.appendChild(y);
    var a = document.getElementsByTagName("body")[0];
    var b = document.createElement("script");
    b.innerHTML = "$('p').css('border','3px solid red')";
    a.appendChild(b);
    

    你可以通过将它作为一个书签在Chrome中注入jQuery。 只需复制上面的代码,创建一个随机网站的新书签。 右键单击书签并选择“编辑”,将代码粘贴到URL框中并选择“保存”。 当你点击书签时,jQuery脚本将被注入。

    -Lucas

    链接地址: http://www.djcxy.com/p/42477.html

    上一篇: How to inject jquery to any webpage

    下一篇: "Include" one javascript file to another one