2013-11-22 4 views
0

Я использую плагин Jquery для печати определенного div моей веб-страницы. Он отлично работает в Firfox и IE. Но, к сожалению, он не работает в Google Chrome. На самом деле Google Chrome печатает полную веб-страницу, включая баннер, меню и кнопки. Я не могу решить эту проблему.Проблема с печатью хрома Google

Вот мой пример кода

Java Script

$(function() { 
    $("input:button").click(function() { 
     $("#print").printThis(); 
    }); 
}); 

HTML

<body> 
<input type="button" value="print" /> 
<div id="print"> 
this is print area, it can be everything. this is print area, it can be everything. this is print area, it can be everything. this is print area, it can be everything. this is 
</div> 
</body> 
+0

Это поможет узнать, какой плагин вы используете. В любом случае, в большинстве случаев проще всего использовать CSS для определения областей печати, если вы не хотите предлагать отдельные разделы печати в дополнение к печати всей страницы. – JJJ

ответ

0

Вы можете использовать "чистый" JQuery сделать то же самое:

//Begin browser detection section 
var isOpera = !! window.opera || navigator.userAgent.indexOf(' OPR/') >= 0; 
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera) 
var isFirefox = typeof InstallTrigger !== 'undefined'; // Firefox 1.0+ 
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0; 
// At least Safari 3+: "[object HTMLElementConstructor]" 
var isChrome = !! window.chrome && !isOpera; // Chrome 1+ 
var isIE = false || !! document.documentMode; // At least IE6 
    //End browser detection section 

    //User click on something 
$('a[href="#print"]').on("click", function() { 
    var data = "<div> a lot of HTML code from AJAX call or from your DIV </div>"; 
      CreateWindow(data); 
}); 


function CreateWindow(data) { 
    var mywindow = window.open('about:blank', '_blank'); 
    var myWindowContents = '<html>' + 
     '<head>' + 
     '<title>Results</title>' + 
     '<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet" type="text/css">' + 
     '</head>' + 
     '<body >' + data + 
     '<script src="http://code.jquery.com/jquery-2.1.0.min.js type="text/javascript">' + '<' + '/script>' + 
     '<script type="text/javascript">' + 
     '$(document).ready(function() {' + 
     '});' + 
     '<' + '/script>' + 
     '</body>' + 
     '</html>'; 
    mywindow.document.write(myWindowContents); 
    mywindow.document.close(); 
    mywindow.focus(); 
    if (!isChrome) { 
     mywindow.print(); 
    } 
} 

Вы также можете посмотреть на мой код здесь: http://jsfiddle.net/pvkovalev/2pn4p/ Я думаю, что это даст вам представление о том, как решить вашу проблему.

Смежные вопросы