gpt4 book ai didi

javascript - jQuery - 打印和预览特定的 div

转载 作者:行者123 更新时间:2023-11-30 16:55:49 25 4
gpt4 key购买 nike

我正在使用 jQuery 打印预览插件 ( https://github.com/etimbo/jquery-print-preview-plugin ) 为打印功能添加一些额外的功能。

问题不是打印整个页面,我只需要显示一个小的可打印区域。我相信唯一相关的代码是。我的第一个想法是将“body”的所有实例更改为 printableArea,但没有显示任何内容。有什么想法吗?

 // The frame lives
for (var i=0; i < window.frames.length; i++) {
if (window.frames[i].name == "print-frame") {
var print_frame_ref = window.frames[i].document;
break;
}
}
print_frame_ref.open();
print_frame_ref.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' +
'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">' +
'<head><title>' + document.title + '</title></head>' +
'<body></body>' +
'</html>');
print_frame_ref.close();

// Grab contents and apply stylesheet
var $iframe_head = $('head link[media*=print], head link[media=all]').clone(),
$iframe_body = $('body > *:not(#print-modal):not(script)').clone();
$iframe_head.each(function() {
$(this).attr('media', 'all');
});
if (!$.browser.msie && !($.browser.version < 7) ) {
$('head', print_frame_ref).append($iframe_head);
$('body', print_frame_ref).append($iframe_body);
}
else {
$('body > *:not(#print-modal):not(script)').clone().each(function() {
$('body', print_frame_ref).append(this.outerHTML);
});
$('head link[media*=print], head link[media=all]').each(function() {
$('head', print_frame_ref).append($(this).clone().attr('media', 'all')[0].outerHTML);
});
}

HTML

<div id="printableArea" style="display:block;">
<h1>content</h1>
</div>

最佳答案

你需要改变你的选择器:

 var $iframe_head = $('head link[media*=print], head link[media=all]').clone(),
$iframe_body = $('body > *:not(#print-modal):not(script)').clone();

所以改变:

'body > *:not(#print-modal):not(script)'

使用不同的选择器来选择 div。像 '.myClass''#myId' 这样的东西应该可以。

注意

这可能还需要在 else 语句的开头进行更改。

关于javascript - jQuery - 打印和预览特定的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29745131/

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