window.open document.write работает на Chrome, но не на Firefox - PullRequest
0 голосов
/ 12 сентября 2018

У нас есть веб-расширение Chrome, работающее без проблем, которое мы переносим на Firefox, у нас есть немного кода в скрипте контента, который прекрасно работает в Chrome:

try {
        let bootstrapCss = chrome.extension.getURL("content/bootstrap.min.css");
        var printWindow = window.open('', "_blank", 'location=no,toolbar=0');           
        printWindow.document.write(`<html><head><link rel="stylesheet" href="${bootstrapCss}"></head><body>${html}</body></html>`);
        printWindow.document.close();

        this._logger.logInfo("Print window object");
        this._logger.logInfo(printWindow);          
    } catch (error) {
        this._logger.logError("Error creating print window");
        this._logger.logError(error);
    }

    setTimeout(() => {      
        printWindow.print();
        printWindow.close();
    }, 200);

Однако, когда мы запускаем это в Firefox, мы получаем следующую ошибку:

SecurityError: В доступе отказано в доступе к свойству "document" объект перекрестного происхождения

Есть ли способ заставить это работать на Firefox или что-то, что будет работать как на Firefox, так и на Chrome, когда мы пытаемся сохранить единую кодовую базу.

...