8

我在开发者工具中做了很多工作,并且喜欢在控制台中使用 jQuery 来运行代码片段。要将 jQuery 注入页面(和控制台),我将其粘贴到 devtools 控制台中:

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

有没有办法将 jQuery 自动注入开发人员工具控制台?理想情况下,不影响window.$window.jQuery用于当前页面。

4

2 回答 2

5

开发人员工具栏有一个注入命令,可以让您更轻松地将脚本注入当前页面。它支持常用的库,如 jQuery 和下划线。有关更多信息,请参阅我链接到的文档。

如果您想始终这样做,您可以创建一个类似于dotjs的附加组件- 主要区别在于您需要将 jQuery 对象公开到页面的实际 DOM 中,内容脚本还不够好。您可能还应该总是尝试检测现有的 jQuery?我不太确定“不影响当前页面的 window.$ 或 window.jQuery”是什么意思 - 默认情况下,控制台的当前范围当前页面。仅当您正在调试并且在某个其他范围内的断点处停止时,这才有所不同。

于 2014-10-08T01:05:28.487 回答
1

您可以将以下代码复制/粘贴到控制台中,您可以在 DevTools 中使用 jQuery

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

// ... You might need to also run
jQuery.noConflict();

您可能会立即看到一个错误:Uncaught ReferenceError: jQuery is not defined.忽略它 - DevTools 正在拉扯您的腿。(谷歌在幽默方面的弱点尝试,也许......)

然后,在 DevTools 控制台中,对其进行测试:
$('div').length; //press Enter

如果遇到错误,请尝试以下方式:
jQuery('div').length

希望第一种方法能奏效——但有时您需要使用第二种方法。

于 2021-02-20T03:54:14.933 回答