Как установить параметр функции из фонового скрипта в файл executeScript chrome расширение - PullRequest
0 голосов
/ 27 марта 2020

Я хочу создать расширение chrome, которое захватывает скриншот любой выбранной части веб-страницы. Я создал холст на скриншоте. js, который установлен в фоновом режиме. js с chrome .executeScript. проблема в том, что я хочу установить параметр функции из фона. js и получить его на скриншоте. js, но он не работает. код ниже. Как я могу получить параметр функции в executetescript из фона. js? Пожалуйста, помогите мне или предложите мне другой способ.

background. js



function test(){
    chrome.tabs.executeScript(null, {file:"./scripts/screenshot.js"})
}



function createScreenshot(callback) {

    chrome.tabs.captureVisibleTab(null, { format: "png" }, callback);
}


chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
    if (request.chromeAction === "screenshot") {
        createScreenshot(function (dataURL) {
           chrome.runtime.sendMessage({ param1: dataURL})
           test();
        });
        return true;
    }
});


снимок экрана. js



chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
    var param1 = message.param1;
    console.log(param1)
    function createImage(param1) {

    function createCanvas(canvasWidth, canvasHeight) {
    var canvas = document.createElement("canvas");

    canvas.width = canvasWidth;
    canvas.height = canvasHeight;
    return canvas;
}
    var canvas = createCanvas(500, 500);
    var context = canvas.getContext('2d');
    var croppedImage = new Image();

    croppedImage.onload = function() {
         let div = document.querySelector('#selection');

        context.drawImage(croppedImage, 10, 23, 300, 300, 0, 0, 500, 500);

        console.log(canvas.toDataURL());
    };
    croppedImage.src = param1; 
}


});


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