用于整理iteye上的blog文章的脚本,方便制作chm,在firebug上执行
程序员文章站
2022-05-24 18:51:57
...
当然要使用附件里的CSS,都是取自javaeye的CSS,进行了简要的修改
打开要整理的页面后把下面的代码粘贴进firebug的“控制台”,运行,然后在firebug的“HTML”标签下复制html,粘贴进editplus保存即可,在firebug中操作的简要截图如下:
“运行”时
取“HTML”时
/** * 移除html元素数组 */ function removeCurrentObjs(objs){ for(var i=objs.length-1;i>=0;i--){ objs[i].parentNode.removeChild(objs[i]); } } /** * 移除所有指定标签名称的html元素 */ function removeCurrentTag(tagNameArr){ for(var i=0,j=tagNameArr.length;i<j;i++){ var s = document.getElementsByTagName(tagNameArr[i]); removeCurrentObjs(s); } } /** * 获得指定样式名称的html元素数组 */ function getObjsByClassName(arr, parentObj, className){ if(parentObj.nodeType!=1 || !parentObj.childNodes || parentObj.childNodes.length==0){ return null; } var sub = parentObj.childNodes; for(var i=0,j=sub.length;i<j;i++){ if(sub[i].className==className){ arr.push(sub[i]) } getObjsByClassName(arr, sub[i], className); } } /** * 移除所有指定ID的html元素 */ function removeObjArr(classNameArr){ var arr = [] for(var i=0,j=classNameArr.length;i<j;i++){ getObjsByClassName(arr, document.body, classNameArr[i]); } removeCurrentObjs(arr); } removeCurrentTag(['script', 'style', 'embed', 'iframe']); var content = document.getElementById('content'); document.body.appendChild(content); var local = document.getElementById('local'); local.parentNode.removeChild(local); var digg_bottom = document.getElementById('digg_bottom'); digg_bottom && (digg_bottom.parentNode.removeChild(digg_bottom)) var subs = document.body.childNodes; for(var i=subs.length-1;i>=0;i--){ if(subs[i].nodeType=='1' && (subs[i].tagName && subs[i].tagName.toUpperCase()!='DIV' || (subs[i].id && subs[i].id!='content'))){ subs[i].parentNode.removeChild(subs[i]) } } var commentsParent = document.getElementById('comments').parentNode; commentsParent.parentNode.removeChild(commentsParent); var comment_formParent = document.getElementById('comment_form').parentNode; comment_formParent.parentNode.removeChild(comment_formParent); removeObjArr(["blog_nav", "blog_bottom", "date", "attachments"]); // 移除head中多余的引用 var head = document.getElementsByTagName('head')[0]; subs = head.childNodes; for(var i=subs.length-1;i>=0;i--){ if(subs[i].nodeType==1 && subs[i].tagName.toUpperCase()!='TITLE'){ head.removeChild(subs[i]); } } head.innerHTML='<meta content="text/html; charset=GBK" http-equiv="Content-Type">'+head.innerHTML; head.innerHTML+='<link type="text/css" rel="stylesheet" media="screen" href="css/style.css">'; head.innerHTML+='<link type="text/css" rel="stylesheet" media="screen" href="css/style2.css">';