当用户点击按钮时,我想打印一些HTML内容.一旦用户点击该按钮,浏览器的打印对话框将打开,但不会打印该网页.相反,它将打印一些未显示在页面上的其他HTML内容.
在提出这个问题时,我想到的解决方案很少.但我不确定这些是好主意还是可以做得更好.其中一个解决方案是:我可以将这个HTML内容保存在div中并使其display:打印,但是display: none要进行屏幕显示.网页上的所有其他元素都可以display: none用于打印和display:屏幕.然后打电话给打印.
有什么好主意吗?
我正在尝试打印我的应用程序的特定部分.
该应用程序有一个用户列表,显示他们的名字和姓氏.当我点击一个用户时,我会得到一个包含更多详细信息的弹出窗口.
如何为我点击的用户打印弹出窗口?弹出窗口如下所示:
<div id="user<?=$user->id;?>" class="popup">
<div class="details">
User details...
</div>
<a href="#print">Print</a>
</div>
Run Code Online (Sandbox Code Playgroud)
但是打印按钮还没有工作.
我正在使用Bootstrap开发一个站点,它有28个模态窗口,其中包含不同产品的信息.我希望能够在开放模式窗口中打印信息.每个窗口都有一个id.
<!-- firecell panel & radio hub -->
<div class="modal hide fade" id="fcpanelhub">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">X</button>
<h3>5000 Control Panel & Radio Hub</h3>
</div>
<div class="modal-body">
<img src="../site/img/firecell/firecell-panel-info-1.png" alt=""/><hr/>
<img src="../site/img/firecell/firecell-panel-info-2.png" alt=""/><hr/>
<img src="../site/img/firecell/firecell-radio-hub-info-1.png" alt=""/><hr/>
<img src="../site/img/firecell/firecell-radio-hub-info-2.png" alt=""/>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Close</a>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
因此,如果我在modal-footer- 'print'中添加一个新按钮,并且单击它我想要打印该模态.我会说javascript会被使用吗?如果是这样,我如何告诉javascript只打印开放模式,而不是其他模式?
所有帮助赞赏.
我试图从二进制流构建一个PDF文件,我收到它作为Ajax请求的响应.
通过XmlHttpRequest我收到以下数据:
%PDF-1.4....
.....
....hole data representing the file
....
%% EOF
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试的是通过嵌入我的数据data:uri.现在,它没有任何问题,它工作正常.不幸的是,它在IE9和Firefox中不起作用.可能的原因可能是FF和IE9在使用时遇到了问题data-uri.
现在,我正在寻找适用于所有浏览器的解决方案.这是我的代码:
// responseText encoding
pdfText = $.base64.decode($.trim(pdfText));
// Now pdfText contains %PDF-1.4 ...... data...... %%EOF
var winlogicalname = "detailPDF";
var winparams = 'dependent=yes,locationbar=no,scrollbars=yes,menubar=yes,'+
'resizable,screenX=50,screenY=50,width=850,height=1050';
var htmlText = '<embed width=100% height=100%'
+ ' type="application/pdf"'
+ ' src="data:application/pdf,'
+ escape(pdfText)
+ '"></embed>';
// Open PDF in new browser window
var detailWindow = window.open ("", winlogicalname, winparams);
detailWindow.document.write(htmlText);
detailWindow.document.close();
Run Code Online (Sandbox Code Playgroud)
正如我所说,它适用于Opera和Chrome(Safari尚未经过测试).使用IE或FF将显示一个空白的新窗口.
是否有任何解决方案,如在文件系统上构建PDF文件,以便让用户下载它?我需要适用于所有浏览器的解决方案,至少在IE,FF,Opera,Chrome和Safari中.
我无权编辑Web服务实现.所以它必须是客户端的解决方案.有任何想法吗?
我的打印样式有以下CSS:
* {
display:none;
}
#printableArea {
display:block;
}
Run Code Online (Sandbox Code Playgroud)
我希望这可以隐藏所有元素,只显示printableArea,但是一切都被隐藏了.在打印视图中,我得到的只是一个空白页面.
我把它包含在HEAD中,media="print"在这个特定的样式表上.
我正在尝试用HTML实现打印功能.我知道我可以打印整个页面window.print(),但是如何只打印特定的页面元素?例如一个特定的<DIV>Some text to print</DIV>.
所以,假设我在这样的页面中有一个简单的表单:
<form style="text-align:center;">
<p> STUFF </p>
</form>
Run Code Online (Sandbox Code Playgroud)
我想添加一个按钮,所以当用户点击它时,浏览器的"打印"对话框会出现,我该怎么做?
编辑:我想打印表单,而不是页面.
让我们说我有
<div id="printOnly">
<b>Title</b>
<p>
Printing content
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
是否可以在页面渲染时隐藏此div并仅在打印此div时显示?
我正在开发一个动态显示一些控件和描述的Web应用程序(我不想使用jQuery或其他库).
此时我使用以下方式显示和消失控件:
element.setAttribute("style", "display : inline");
Run Code Online (Sandbox Code Playgroud)
和
element.setAttribute("style", "display : none");
Run Code Online (Sandbox Code Playgroud)
但我正在考虑使用:
element.appendChild(childRef);
Run Code Online (Sandbox Code Playgroud)
和
element.removeChild(childRef);
Run Code Online (Sandbox Code Playgroud)
那么,就系统速度和代码的优雅而言,哪一个是最佳解决方案?或者有更好的方法来解决这个问题吗?
javascript ×9
html ×6
printing ×5
css ×3
jquery ×2
binary-data ×1
forms ×1
modal-dialog ×1
pdf ×1