とりあえず、「jquery.jPrintArea.js」本家サイトが無くなっているのでこちらのサイト(閉鎖)のコードをダウンロード
jQuery.jPrintArea=function(el)
{
var iframe=document.createElement('IFRAME');
var doc=null;
$(iframe).attr('style','position:absolute;width:0px;height:0px;left:-500px;top:-500px;');
document.body.appendChild(iframe);
doc=iframe.contentWindow.document;
var links=window.document.getElementsByTagName('link');
for(var i=0;i
if(links[i].rel.toLowerCase()=='stylesheet')
doc.write('');
doc.write('
'+$(el).html()+'
');
doc.close();
iframe.contentWindow.focus();
iframe.contentWindow.print();
document.body.removeChild(iframe);
}
<script text="javascript/text">
$(function(){
$('#print-button').click(function(){
$.jPrintArea("#print-area");
});
});
</script>
<div id="print-area">
この中を印刷
</div>
<button type="button" id="print-button">印刷ボタン</button>
指定した範囲を印刷してくれる優れものなのだが、最初全く動かなかった。
で、"$"を"jQuery"に統一したら動き始めた。デザインはCSSの「@media print」で設定。
動作確認のため、Chrome,IE,FFで起動してみたところ、FF(ver32.0.3)のみ動かなかった・・・orz
色々調べたらこちらのサイトに辿り着いた。
丸々コピペするとページ全体を印刷してしまう。
なので [iframe.src="javascript:false;";] だけを
上記jsコードの2行目と3行目の間に入れてみるとあら不思議。
FFでも動くようになりました。