2011-11-23 15 views
22
<html> 
<head> 
<script type="text/javascript"> 
    var URL = "http://localhost:8000/foobar/"; 
    var W = window.open(URL); **Note1** 
    W.window.print(); 

</script> 
</head> 
<p> Print ME...............</p> 
</html> 

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

लेकिन मैं इसके लिए नई विंडो नहीं खोलना चाहता हूं। तो, window.open(URL) के बजाय मुझे क्या उपयोग करना चाहिए ताकि no new window खुलता है। इसी तरह, मैं print function के लिए नई विंडो नहीं खोलना चाहता हूं। इसलिए, जब भी मैं इस पृष्ठ को प्रस्तुत करता हूं तो यह एक ही पृष्ठ पर सभी चीजें करता है। कोई नई विंडो नहीं, कोई नया टैब नहीं। इसे कैसे प्राप्त किया जा सकता है। मैं गूगल लेकिन कुछ भी काम नहीं कर रहा है।

उत्तर

36

आप एक छिपे हुए iFrame (मैं उदाहरण के लिए jQuery का उपयोग कर रहा) का उपयोग कर सकते हैं:

function loadOtherPage() { 

    $("<iframe>")        // create a new iframe element 
     .hide()        // make it invisible 
     .attr("src", "/url/to/page/to/print") // point the iframe to the page you want to print 
     .appendTo("body");     // add iframe to the DOM to cause it to load the page 

} 

इस पृष्ठ को प्रिंट करना चाहते लोड होगा। प्रिंट के लिए, आपको प्रिंट पेज इतना है कि यह लोड हो रहा है के बाद प्रिंट हो करने के लिए जावास्क्रिप्ट कोड जोड़ सकते हैं:

$(document).ready(function() { 
    window.print(); 
}); 

यह एक नई विंडो बिना दिखाए पेज प्रिंट होगा। मैंने IE8,9 और Google क्रोम में इसका परीक्षण किया है, इसलिए मुझे यकीन नहीं है कि यह सफारी या फ़ायरफ़ॉक्स के लिए काम करता है, हालांकि।

+0

धन्यवाद! अच्छी तरह से काम! –

+0

"/ url/to/page/to/print" पर, क्या मैं अपना एचटीएमएल कोड सीधे रख सकता हूं? –

+1

@VitorGuerreiro: हां, आप जो प्रिंट करना चाहते हैं उसका HTML कोड उस यूआरएल पर होना चाहिए; उस एचटीएमएल कोड में उत्तर में वर्णित जावास्क्रिप्ट कोड भी होना चाहिए (window.print() के साथ एक;) – andragon

-2
function CallPrint() { 
     var prtContent = document.getElementById('main'); 
     var WinPrint = window.open('', '', 'width=800,height=650,scrollbars=1,menuBar=1'); 
     var str = prtContent.innerHTML; 
     WinPrint.document.write(str); 
     WinPrint.document.close(); 
     WinPrint.focus(); 
    } 

कॉल प्रिंट बटन पर क्लिक इस जावास्क्रिप्ट समारोह। "मुख्य" div जो हम बिना खोले ही मुद्रित करने के लिए में नई खिड़की सूचित करने के लिए है कि इस वर्तमान पृष्ठ div प्रिंट होगा चाहते हैं की आईडी है। किसी भी मुद्दे के मामले में प्रयास करें और पुनः प्रयास करें।
धन्यवाद,
गौरव

+0

does not काम के साथ कि कैसे करना नहीं है। –

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