Background.js:расширение Chrome - Как вернуть значение посыла из исполняемого скрипта в функции обратного вызова
chrome.tabs.executeScript(tab.id,
{
file: "exec_script.js"
}, function(res) {
console.log(res);
});
exec_script.js:
var test = html2canvas(document.body, {
allowTaint: false,
letterRendering: true,
logging: true
}).then(function (canvas) {
var dataUrl = canvas.toDataURL();
var bImage = dataUrl.replace('data:image/png;base64,', '');
});
test
Насколько я знаю, последний оператор в exec_script.js должен быть передан в обратный вызов в качестве параметра результата. Но он возвращает пустой объект.
Но если я, как следующее exec_script.js:
var test = "good";
test
Она возвращает значение переменной на обратный вызов.
Также вкладка не сфокусирована.
_ "Но он возвращает пустой объект" _ Вы уверены, что 'res' является простым объектом? Какую ценность вы ожидаете получить от обратного вызова? – guest271314
Я хочу увидеть значение «bImage» в обратном вызове. –
Вы пытались «возвратить» 'BImage' из' .then() 'прикованный к вызову' html2canvas', связав '.then()' с 'res' при обратном вызове? – guest271314