Я посмотрел на другие связанные SO сообщения, и решения не помогли решить мою проблему.Это мое первое расширение Chrome, поэтому, пожалуйста, потерпите меня!
Я пишу простое расширение Chrome, которое ищет ключевые слова, предоставленные пользователем на веб-странице.Я не могу запустить скрипт контента, который возвращает контент DOM.Часть кода, которую я взял из ответа в другом SO сообщении, но я не могу заставить его работать на меня.
Я поместил console.log ("hello world") вверхняя часть файла, и она не отображается, поэтому я думаю, что это может быть структура моего проекта.
manifest.json
{
"name": "keyword search",
"version": "0.0.1",
"manifest_version": 2,
"permissions": [ "tabs" , "storage", "activeTab", "<all_urls>"],
"browser_action": {
"default_popup": "html/form.html"
},
"content_scripts": [{
"matches": [ "<all_urls>" ],
"js": [ "js/jquery.min.js", "content_scripts/content_script.js" ]
}],
"homepage_url": "http://google.com/"
}
js / popup.js
function run() {
running = true;
console.log('running');
var url = "https://www.stackoverflow.com/"
// Get KW & category for search
chrome.storage.local.get(["kw"],
function (data) {
kw = data.kw;
console.log("redirecting to find kw: " + kw);
// Send current tab to url
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.update(tabs[0].id, {url: url});
chrome.tabs.sendMessage(tabs[0].id, {type: 'DOM_request'}, searchDOM);
});
}
);
}
function searchDOM(domContent) {
console.log("beginning dom search \n" + domContent);
}
content_scripts / content_script.js
// Listen for messages
console.log("hello world")
chrome.runtime.onMessageExternal.addListener(function (msg, sender, sendResponse) {
// If the received message has the expected format...
if (msg.type === 'DOM_request') {
// Call the specified callback, passing
// the web-page's DOM content as argument
sendResponse(document.all[0].outerHTML);
}
});
консоль
running
redirecting to find kw: TestKeyword
beginning dom search
undefined