2008-10-28 11 views
108

मेरे पास एक "प्रिंट" लिंक वाला एक पृष्ठ है जो उपयोगकर्ता को प्रिंटर-अनुकूल पृष्ठ पर ले जाता है। जब उपयोगकर्ता प्रिंट-फ्रेंडली पेज पर आता है तो क्लाइंट स्वचालित रूप से एक प्रिंट संवाद बॉक्स दिखाना चाहता है। मैं जावास्क्रिप्ट के साथ यह कैसे कर सकता हूं?जावास्क्रिप्ट का उपयोग करके मैं एक प्रिंट संवाद बॉक्स कैसे पॉप-अप कर सकता हूं?

उत्तर

163
window.print(); 

जब तक कि आप कस्टम दिखने वाले पॉपअप का मतलब न लें।

+1

थोड़ा पुराना, लेकिन मुझे जोड़ना पसंद है ... window.print(); setTimeout ("window.close()", 100); । यह पृष्ठ के बाकी हिस्सों को लोड करने के लिए पर्याप्त समय देता है, लेकिन फिर तब तक लटकता है जब तक प्रिंट संवाद पर प्रिंट बटन दबाया जाता है, या रद्द नहीं किया जाता है, और तब टैब को फिर से बंद कर देता है। – Stephen

5

कर सकता है मैं यह कर सुनिश्चित करें कि वे परिदृश्य है, जो प्रिंटर का एक बहुत पर पृष्ठों का एक बहुत के लिए आवश्यक है मुद्रित करने के लिए याद करते हैं।

<a href="javascript:alert('Please be sure to set your printer to Landscape.');window.print();">Print Me...</a> 

या

<body onload="alert('Please be sure to set your printer to Landscape.');window.print();"> 
etc. 
</body> 
15

मुझे यह पसंद है, ताकि आप जो कुछ क्षेत्रों आप चाहते हैं जोड़ सकते हैं और इसे उस तरह से मुद्रित कर सकते हैं।

function printPage() { 
    var w = window.open(); 

    var headers = $("#headers").html(); 
    var field= $("#field1").html(); 
    var field2= $("#field2").html(); 

    var html = "<!DOCTYPE HTML>"; 
    html += '<html lang="en-us">'; 
    html += '<head><style></style></head>'; 
    html += "<body>"; 

    //check to see if they are null so "undefined" doesnt print on the page. <br>s optional, just to give space 
    if(headers != null) html += headers + "<br/><br/>"; 
    if(field != null) html += field + "<br/><br/>"; 
    if(field2 != null) html += field2 + "<br/><br/>"; 

    html += "</body>"; 
    w.document.write(html); 
    w.window.print(); 
    w.document.close(); 
}; 
+2

यह मेरे लिए एक आकर्षण की तरह काम किया। ब्राउज़र में पॉपअप की अनुमति देने की आवश्यकता है। मुझे यकीन नहीं है कि "करीबी" कभी निष्पादित हो जाता है, क्योंकि टैब कभी नहीं जाता है। – rich

-3

यदि समस्या:

mywindow.print(); 

altenative का उपयोग कर:

'<scr'+'ipt>print()</scr'+'ipt>' 

पूर्ण:

$('.print-ticket').click(function(){ 

     var body = $('body').html(); 
     var ticket_area = '<aside class="widget tickets">' + $('.widget.tickets').html() + '</aside>'; 

     $('body').html(ticket_area); 
     var print_html = '<html lang="tr">' + $('html').html() + '<scr'+'ipt>print()</scr'+'ipt>' + '</html>'; 
     $('body').html(body); 

     var mywindow = window.open('', 'my div', 'height=600,width=800'); 
     mywindow.document.write(print_html); 
     mywindow.document.close(); // necessary for IE >= 10'</html>' 
     mywindow.focus(); // necessary for IE >= 10 
     //mywindow.print(); 
     mywindow.close(); 

     return true; 
    }); 
0

आप बटन करने के लिए या पेज के लोड पर यह टाई कर सकते हैं।

window.print(); 
संबंधित मुद्दे

 संबंधित मुद्दे