Я получаю значение NULL во всплывающем HTML, в то время как у меня есть значение для $('.part-name span').text()
в DOM, и я могу распечатать его через консоль Chrome
![enter image description here](https://i.stack.imgur.com/508bT.png)
У меня есть 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