gpt4 book ai didi

javascript - Window.print 问题

转载 作者:数据小太阳 更新时间:2023-10-29 04:46:23 25 4
gpt4 key购买 nike

这是我的问题 我有一个实现 window.print 的代码,但问题是当我关闭窗口打印并返回到我的页面时,我的打印按钮不再起作用。

$(function(){
$('#button1').click(function()
{
$('head').append('<link rel="stylesheet" href="<?php echo base_url() ?>assets/weekly/style/weekly.css" type="text/css"/>');
var printContents = document.getElementById('data').innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
//window.location = document.body.innerHTML;
//location.reload();
});
});

但是当我添加 location.reload()(见我评论它)打印按钮再次工作但它加载以前的数据而不是当前数据这就是我不想要的原因使用 location.reload()。我的问题还有其他解决方案或方法吗?

最佳答案

你真的应该为此使用特定于打印的 CSS 样式表,但如果你想以这种方式实现你的目标,也许这会更好:

$(function(){
$('#button1').click(function(){
$('head').append('<link rel="stylesheet" href="<?php echo base_url() ?>assets/weekly/style/weekly.css" type="text/css"/>');
var printContents = $( $('#data').html() );
var originalContents = $('body > *').hide();
$('body').append( printContents );
window.print();
printContents.remove();
originalContents.show();
});
});

使用“数据”元素的 innerHTML 创建一个新元素。隐藏 body 标记的所有子项。将新元素附加到 body 标签。打印。删除新元素。再次显示原始内容。

这仍然有点困惑,但你不应该丢失你的事件。

关于javascript - Window.print 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17315801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com