// ==UserScript== // @name blogs.sun.com Save/Print View // @namespace com.sun.KatsumiInoue // @description For saving and printing blog entry // @include http://blogs.sun.com/*/entry/* // ==/UserScript== // -------------------------------------------------------------------- // This is a Greasemonkey user script. To install it, you need // Greasemonkey 0.3 or later: http://greasemonkey.mozdev.org/ // Then restart Firefox and revisit this script. // Under Tools, there will be a new menu item to "Install User Script". // Accept the default configuration and install. // // To uninstall, go to Tools/Manage User Scripts, // select "Access Bar", and click Uninstall. // // Usage: When using this script then a new word 'Print' will appear // beside every post's posting date header. // -------------------------------------------------------------------- var head, js; head = document.getElementsByTagName('head')[0]; if (!head) { return; } js = document.createElement('script'); js.type = 'text/javascript'; js.innerHTML ='function printview(id){location.href =location.href + "?print=1&id="+id+""; return;}'; head.appendChild(js); var isPrintMode = false; var qs; var ID=-1, postClass="entry"; if (qs=location.href.match(/\?print=1&id=(\d+)&postclass=(\S+)/i)){ if(qs[1] && qs[2]){ isPrintMode = true; ID = qs[1]; postClass = unescape(qs[2]); } } var allDates, allPosts; var postDiv = document.evaluate( "//div[@class='day']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null); var postDivChildren; if(postDiv && postDiv.singleNodeValue) postDivChildren = postDiv.singleNodeValue.childNodes; if(postDivChildren){ for (var i = 0; i < postDivChildren.length;) { var thisDate = postDivChildren[i++]; while((!thisDate || !thisDate.tagName || thisDate.tagName != "DIV") && i'+posttimestamp; if(!isPrintMode) DivHTML += '   Print'; DivHTML += '' newdiv.innerHTML = DivHTML; thisDate.parentNode.replaceChild(newdiv,thisDate); } } } if (isPrintMode) { var dateid = "dateid"+ID; var postid = "postid"+ID; var newbody = "
"+document.getElementById(postid).innerHTML+"
"; document.body.innerHTML = newbody; }