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"値を見たいと思います。 –
コールバック時に '.then()'を 'res'にチェーンして、' .then() 'から' html2canvas'コールに 'bImage'を返そうとしましたか? – guest271314