[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
14082024
/
Data
/
htdocs
/
htdocs
/
tracer
/
assets
/
js
/
[
Home
]
File: jQuery.print.js
// Create a jquery plugin that prints the given element. jQuery.fn.print = function(){ // NOTE: We are trimming the jQuery collection down to the // first element in the collection. if (this.size() > 1){ this.eq( 0 ).print(); return; } else if (!this.size()){ return; } // ASSERT: At this point, we know that the current jQuery // collection (as defined by THIS), contains only one // printable element. // Create a random name for the print frame. var strFrameName = ("printer-" + (new Date()).getTime()); // Create an iFrame with the new name. var jFrame = $( "<iframe name='" + strFrameName + "'>" ); // Hide the frame (sort of) and attach to the body. jFrame .css( "width", "1px" ) .css( "height", "1px" ) .css( "position", "absolute" ) .css( "left", "-9999px" ) .appendTo( $( "body:first" ) ) ; // Get a FRAMES reference to the new frame. var objFrame = window.frames[ strFrameName ]; // Get a reference to the DOM in the new frame. var objDoc = objFrame.document; // Grab all the style tags and copy to the new // document so that we capture look and feel of // the current document. // Create a temp document DIV to hold the style tags. // This is the only way I could find to get the style // tags into IE. var jStyleDiv = $( "<div>" ).append( $( "style" ).clone() ); // Write the HTML for the document. In this, we will // write out the HTML of the current element. objDoc.open(); objDoc.write( "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" ); objDoc.write( "<html>" ); objDoc.write( "<body>" ); objDoc.write( "<head>" ); objDoc.write( "<title>" ); objDoc.write( document.title ); objDoc.write( "</title>" ); objDoc.write( jStyleDiv.html() ); objDoc.write( "</head>" ); objDoc.write( this.html() ); objDoc.write( "</body>" ); objDoc.write( "</html>" ); objDoc.close(); // Print the document. objFrame.focus(); objFrame.print(); // Have the frame remove itself in about a minute so that // we don't build up too many of these frames. setTimeout( function(){ jFrame.remove(); }, (60 * 1000) ); }