css 전부삭제하기

function clearCSS() { var allsuspects=document.getElementsByTagName(“link”); var css=””; for (var i=allsuspects.length; i>=0; i–){ if (allsuspects[i] && allsuspects[i].getAttribute(“href”)!=null) { css=allsuspects[i].getAttribute(“href”); if ( css.endsWith(“.css”) ) { allsuspects[i].parentNode.removeChild(allsuspects[i]); } } } }

ajax로 불러온 페이지를 현재 화면에 표시하기

content에는 HTML응답이 통으로 들어갑니다. 또한 param에는 요청시에 미리 준비하는 각정 설정항목이 들어갑니다.
function updatePage(content, param) {
	clearCSS();
	var newPage = document.createElement('div');
	$(newPage).html(content);
	var head = document.getElementsByTagName('head');
	var allsuspects=$(newPage)[0].getElementsByTagName("link");
	var css="";
	for (var i=allsuspects.length; i>=0; i--){
		if (allsuspects[i] && allsuspects[i].getAttribute("href")!=null) {
			css=allsuspects[i].getAttribute("href");
			if ( css.endsWith(".css") ) {
				$(allsuspects[i]).insertAfter('title');
			}
		}
	}
	var newHtml = $(newPage).find("#" + param.containerId).html();
	if (newHtml == null) {
		newHtml = $(newPage).find("body").html();
		if (newHtml == null) {
			newHtml = content;
		}
	}
	$("#" + param.containerId).html(newHtml);
	if (param.onload) {
		try {
			if(typeof param.onload == "string") {
				eval(param.onload);
			} else {
				jQuery(param.onload);
			}
		} catch(e){}
	}
	if (param.gotoTop == null || param.gotoTop != false) {
		$('body').animate({ scrollTop: 10 });
	}
	newPage = null;
}

팁: endsWith 이용하기

String.prototype.endsWith = function(suffix) {
    var sub = this.length - suffix.length;
    return (sub >= 0) && (this.lastIndexOf(suffix) === sub);
};
]]>

Related Posts