chrome runtime sendmessage



Автор Виктор Алексеев задал вопрос в разделе JavaScript

Очень нужна помощь по javascript + chrome extensions и получил лучший ответ

Ответ от Aleksandr Schumacher[гуру]
manifest.json
{
"manifest_version": 2,
"name": "Name",
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"content_scripts": [{
"matches": [
"*://*/",
"*://*/*"
],
"js": [
"content.js"
],
"run_at": "document_start"
}]
}
background.js
(function (){
var value = 'foo';
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request && request.giveMeValue) {
sendResponse({
value: value
});
}
});
})();
content.js
(function (){
chrome.runtime.sendMessage({
giveMeValue: true
}, function (response) {
console.log(response)
});
})();
Шумахер
Мыслитель
(7820)
Ну потому что вам приходит же объект, а не строка)
alert выводит строку и кастит принятый аргумент к строке
А Object.toString нативный всегда возвращает [object Object]
Поэтому ну в этом конкретном случае надо либо передавать строку, либо в alert передавать response.value. Но лучше передавать объекты. Просто в бэкграунд скрипте отправляйте
{value: ...}
а на стороне контент скрипта работайте со значением response.value

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Очень нужна помощь по javascript + chrome extensions
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*