在函数末尾重新加载css

问题描述 投票:0回答:1

我试图在我的“打印”功能结束时只重新加载我的页面的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 ();

}
css function reload
1个回答
0
投票

+以下是重新加载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);

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.