首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在函数结束时重新加载css

在函数结束时重新加载css
EN

Stack Overflow用户
提问于 2019-04-28 00:47:33
回答 1查看 57关注 0票数 0

我试图只在"print“函数的末尾重新加载页面的CSS,但我找不到任何有效的东西。

我尝试使用location.reload ();但这会完全重新加载页面。

你有什么想法吗?

代码语言:javascript
复制
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 ();

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-28 04:24:32

+这里有两个选项来重新加载你的css文件。在print()函数中删除location.reload()。请参阅下面添加的代码。

代码语言:javascript
复制
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
        '">';
}

另一种方法是动态创建样式链接。

代码语言:javascript
复制
// 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);

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55882743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档