Получение нулевого значения при передаче данных Dom в HTML-код расширения Chrome - PullRequest
0 голосов
/ 16 января 2019

Я получаю значение NULL во всплывающем HTML, в то время как у меня есть значение для $('.part-name span').text() в DOM, и я могу распечатать его через консоль Chrome

enter image description here

У меня есть popup.html как

<html>
<head>
    <script src="jquery.js"></script>
    <script src="popup.js"></script>
</head>
<body>
    Here is part name
    <p class="output"></p>
</body>
</html>

и manifest.json как

{   
"name": "Hello World",   
"version": "1.0",
"manifest_version": 2,
"description": "My first Chrome extension.",
"background" : {
    "scripts": ["background.js"]
},
"permissions": [
    "tabs"
],
"browser_action": {     
    "default_icon": "icon.png",
    "default_popup": "popup.html"   
},
"content_scripts": [
    {
      "matches": ["http://*/*"],
      "js": ["jquery.js","contentscript.js"],
      "run_at": "document_end"
    }
]

}

в contentscript.js У меня

var fromDOM = $('.part-name span').text().trim();
chrome.runtime.sendMessage({method:'setTitle',title:fromDOM});

и, наконец, в popup.js У меня есть

chrome.runtime.sendMessage({method:'getTitle'}, function(response){
    $('.output').text(response);
});

не получаю никакой ошибки, но я получаю нулевое значение в ответе. Как я уже понял, я уверен, что у меня есть $('.part-name span').text() в DOM, я пытался жестко кодировать fromDOM в contentscript.js, например,

fromDOM = "App Test"
chrome.runtime.sendMessage({method:'setTitle',title:fromDOM});

но все еще получаю null в всплывающем HTML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...