当前位置: 代码迷 >> Web前端 >> 用于整理iteye下的blog文章的脚本,方便制作chm,在firebug下执行
  详细解决方案

用于整理iteye下的blog文章的脚本,方便制作chm,在firebug下执行

热度:187   发布时间:2012-11-17 11:14:15.0
用于整理iteye上的blog文章的脚本,方便制作chm,在firebug上执行

当然要使用附件里的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">';
1 楼 icediv 2010-07-29  
又是第一个
  相关解决方案