В моем contentScript. js я пытаюсь получить название этой проблемы leetcode.com (https://leetcode.com/problems/maximum-score-words-formed-by-letters/) из DOM и отправить ее в виде сообщения на мой фон. js, но возвращает только ноль.
background. js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
console.log("request: ", request)
console.log("sender: ", sender.url)
});
contentScript. js
problemName = document.querySelector('div[data-cy="question-title"]');
chrome.runtime.sendMessage({problemName: problemName});
манифест. json
{
"name": "Random Background Color",
"version": "1.0",
"description": "building my first extension!",
"permissions": [
"declarativeContent",
"storage",
"activeTab",
"tabs",
"webNavigation",
"contextMenus",
"https://leetcode.com/"
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"content_scripts": [
{
"matches": ["https://leetcode.com/problems/*"],
"js": ["contentScript.js"]
}
],
"browser_action": {
"default_popup": "popup.html",
"default_icon": {
"16": "images/get_started16.png",
"32": "images/get_started32.png",
"48": "images/get_started48.png",
"128": "images/get_started128.png"
}
},
"icons": {
"16": "images/get_started16.png",
"32": "images/get_started32.png",
"48": "images/get_started48.png",
"128": "images/get_started128.png"
},
"manifest_version": 2
}
поэтому в моей консоли расширения chrome это выглядит следующим образом
request: {problemName: null}
sender: https://leetcode.com/problems/maximum-score-words-formed-by-letters/
problemName равно нулю, но когда я запускаю
document.querySelector('div[data-cy="question-title"]');
внутри консоли на https://leetcode.com/problems/maximum-score-words-formed-by-letters/ отправляет мне правильный заголовок