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

标签 css function reload

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

希望这对您有所帮助。

关于css - 在函数结束时重新加载 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55882743/

相关文章:

function - TypeScript函数返回类型中的关键字 "is"

javascript - 当存在多个具有相同类名和属性名的元素时,获取元素的特定文本值

swift - 我将如何限制 tableview 中的项目数量并自动加载更多?

html - 允许 td 内容在没有 colspan 的情况下进入下一列

javascript - Wordpress 网站移动菜单要点不链接到网站

html - 这个div的最小宽度是多少

function - 在VBA中的数组中找到最小正值(大于0)

module - 如何重新加载 Python3 C 扩展模块?

javascript - 如何使用 DataTables、Ajax 调用和 Json 响应重新加载表数据?

jquery - 使用 jquery 在每次单击时向 div 添加/删除类