使用 Chrome 扩展程序将 jQuery 注入 Google.com
Injecting jQuery into Google.com using a Chrome Extension
我正在构建一个chrome扩展,并且非常想将jQuery注入Google网站,但由于某种原因,它对我不起作用。
这是我的清单文件,其中包含content_scripts
:
"content_scripts": [{
"matches": ["*://www.google.com/*"],
"css": ["src/inject/inject.css"],
"js": ["js/jquery/jquery.min.js", "src/inject/inject.js"],
"run_at" : "document_start"
}]
并且jQuery在它应该在的文件夹中。在我的inject.js
文件中,我有:
$("body").append("Hello World");
console.log("Loaded.");
奇怪的是,当我转到 Google.com 时,Loaded.
确实出现在控制台中,但Hello World
没有附加到body
,也不会在控制台中出现非常奇怪的错误。我什至在inject.js
里面做了:
if (window.jQuery) {
$("body").append("Hello World");
console.log("Loaded.");
} else {
console.log('Not Loaded.');
}
而Loaded.
又出现在控制台上,Hello World
并没有被附上......我不知道问题出在哪里...这似乎没有意义。
有什么想法吗?谢谢。
内容脚本在沙盒上下文中运行。因此,您无法从它们中更改页面。但是有一个解决方法:
在您的内容脚本中,您可以通过脚本标签添加所有脚本,如下所示:
var script_tag = document.createElement("script");
script_tag.setAttribute("src", chrome.extension.getURL("js/jquery/jquery.min.js"));
document.head.appendChild(script_tag);
相关文章:
- 使用Objective-C的JavaScript注入方法
- 如何在Google柱状图中动态添加行/列
- 正在注入包含JS的HTML
- 迷你$provider注入茉莉花和角
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- 使用Google Visualization动态调用构造函数
- Firebase2(Firebase.google.com)推送通知-从外部管理
- Angularjs工厂注入错误
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- Google Adsense多次加载脚本
- 单击超链接时,如何使用Google Maps API v3缩放地图
- Google电子表格getValue([cell containing ])不返回制表符
- 在 iFrame 中注入 JS 文件,通过 Google chrome 扩展名中的 ContentScript 进行
- 使用 Chrome 扩展程序将 jQuery 注入 Google.com
- 通过CSS类更改Google图表滑块宽度(Google图表上的CSS注入)
- 不能使用jquery访问通过Google chrome内容脚本注入的iframe内容
- 尝试通过Google Closure Library使用CoffeeScript注入表、行和单元格
- 如何使用扩展将代码注入facebook/google网页
- 为什么Google Analytics会在页面中动态注入javascript