перезагрузить CSS в конце функции - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь перезагрузить только CSS моей страницы в конце моей функции "печати", но я не могу найти ничего, что работает.

Я пытался с помощью location.reload (); но это полностью перезагружает страницу.

У вас есть идея?

function print() {
const filename  = 'File.pdf';

    html2canvas(document.querySelector('#print')).then(canvas => {
        let pdf = new jsPDF('p', 'mm', 'a4');
        pdf.addImage(canvas.toDataURL('image/jpeg'), 'JPEG', 0, 0, 211, 298);

        pdf.save(filename);
    });

location.reload ();

}

1 Ответ

0 голосов
/ 27 апреля 2019

+ Вот два варианта для перезагрузки вашего CSS-файла.В вашей функции print () удалите location.reload ().См. Добавленный код ниже.

function print() {
    const filename  = 'File.pdf';

    html2canvas(document.querySelector('#print')).then(canvas => {
        let pdf = new jsPDF('p', 'mm', 'a4');
        pdf.addImage(canvas.toDataURL('image/jpeg'), 'JPEG', 0, 0, 211, 298);
        pdf.save(filename);
    });

    // insert your css filename in place of style.css
    document.querySelector('head').innerHTML += 
        '<link rel="stylesheet" href="style.css?' + 
        new Date().getTime() + // add the date string to avoid caching
        '">';
}

Еще один способ сделать это - динамически создать ссылку на стиль.

// insert your css filename in place of style.css
var css = document.createElement("link");
    css.setAttribute("rel", "stylesheet");
    css.setAttribute("type", "text/css");
    css.setAttribute("href", "style.css?" + new Date().getTime());
document.getElementsByTagName("head")[0].appendChild(css);

Надеюсь, это поможет.

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