2017-06-13 16 views
0

ウェブページ上の画像のみを印刷したい。ウェブページ上の画像のみを印刷するには?

これは私のjsです。

$(document).ready(function(){ 
    $("#print").one('click', function(ev){ 
     $('#main').prepend('<center><button class="btn btn-primary btn-lg" id="print2">복사하기</button></center>') 
     $('.post').prepend('<input type="checkbox">'); 
     $("#print2").on('click', function(){ 
      var images =''; 
      $('li').each(function(){ 
       var thisCheckFlag=$(this).children('input[type="checkbox"]').prop('checked'); 
       if(thisCheckFlag){ 
       images+='<img src ="'+$(this).find('img').attr('src')+'"><br>'; 
       } 
      }); 
      if(images){ 
       var myWindow=window.open('','printWindow','width=800,height=800'); 
       myWindow.document.write(
       '<html><head><title>Print</title></head><body>' 
       +images+'</body></html>' 
       ); 
       myWindow.focus(); 
       myWindow.print(); 
      } 
      else alert('먼저 선택하세요.'); 
     }); 
     ev.preventDefault(); 
    }); 
}); 

正しく動作します。しかし、もし私が写真を選んでいなければ、私は警告を表示したい。それは動作しません。画像を選択せず​​にprint(id = print2)をクリックすると、Webページが吹き飛ぶように表示されます。 enter image description here

問題は何ですか? TTエラーが見つかりません。 私を助けてください。

答えて

0

あなたの目標がチェックされた画像のみを印刷することであるならば、あなたはCSSを使って達成することができると思います。 あなたはすでにこれを試しましたか?

@media print { 
    img, input { 
     display: none; 
    } 
    input:checked + img { 
     display: block; 
    } 
} 

@media printは、プリンタに

を対象とします(多分DOMツリーに応じて、いくつかの調整が必要)
関連する問題