我正在尝试学习如何使用 content_script.js
将请求发送到我的 chrome 扩展程序的后台页面。我读过很多关于此的答案,但没有一个对我有帮助。我似乎无法让监听器执行。
Manifest.json
"background_page": "background.html",
...
"content_scripts":[
{
"matches": ["http://*/*"],
"run_at": "document_start",
"js": ["jquery.min.js", "content_script.js"]
}
]
...
content_script.js
chrome.extension.sendRequest({'url': 'http://example.com'}, function(data) {
$("#list").html(data);
});
背景.html
<script type="text/javascript">
chrome.extension.onRequest.addListener(function(request, sender, callback) {
$.ajax({
type: "GET",
dataType: 'html',
url: request.url,
username: "username",
password: "password",
success: callback
});
});
</script>
我需要在任何地方注入(inject) content_script.js 吗?根据我的理解,这应该在扩展加载时在后台运行。任何帮助将不胜感激。
最佳答案
由于"run_at": "document_start"
,当你注入(inject)这个脚本时,DOM还没有准备好,所以你不能做$("#list").html(data );
。
从 list 中删除该行或将代码放入 window.onload
监听器中。
关于javascript - Chrome 扩展程序 - content_script.js 未正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6512146/