/****************************************************************************** SupeSite/X-Sapce - common js for SS/XS Copyright 2001-2006 Comsenz Inc. (http://www.comsenz.com|http://www.maifou.net|http://www.yisence.com) *******************************************************************************/ function getbyid(id) { if (document.getElementById) { return document.getElementById(id); } else if (document.all) { return document.all[id]; } else if (document.layers) { return document.layers[id]; } else { return null; } } var isIE = navigator.userAgent.toLowerCase().indexOf('ie'); function showajaxdiv(url, width) { //var x = new Ajax('statusid', 'XML'); var x = new Ajax('statusid', 'HTML'); x.get(url, function(s){ if(getbyid("xweb-ajax-div")) { var divElement = getbyid("xweb-ajax-div"); } else { var divElement = document.createElement("DIV"); divElement.id = "xweb-ajax-div"; divElement.className = "xweb-ajaxdiv"; document.body.appendChild(divElement); } divElement.style.cssText = "width:"+width+"px;"; var userAgent = navigator.userAgent.toLowerCase(); var is_opera = (userAgent.indexOf('opera') != -1); var clientHeight = 0; var scrollTop = 0; if(is_opera) { clientHeight = document.body.clientHeight /2; scrollTop = document.body.scrollTop; } else { clientHeight = document.documentElement.clientHeight /2; scrollTop = document.documentElement.scrollTop; } //divElement.innerHTML = s.lastChild.firstChild.nodeValue; if(s) { divElement.style.display = "block"; } divElement.innerHTML = s; divElement.style.left = (document.documentElement.clientWidth/2 + document.documentElement.scrollLeft - width/2)+"px"; divElement.style.top = (clientHeight + scrollTop - divElement.clientHeight/2)+"px"; }); } function showajax_div(status_id,showhtml_obj,showobj_class,url,width) { //var x = new Ajax('statusid', 'XML'); var x = new Ajax(status_id, 'HTML'); x.get(url, function(s){ if(getbyid(showhtml_obj)) { var divElement = getbyid(showhtml_obj); } else { var divElement = document.createElement("DIV"); divElement.id = showhtml_obj; divElement.className = showobj_class; document.body.appendChild(divElement); } if(width) { divElement.style.cssText = "width:"+width+"px;"; } var userAgent = navigator.userAgent.toLowerCase(); var is_opera = (userAgent.indexOf('opera') != -1); var clientHeight = 0; var scrollTop = 0; if(is_opera) { clientHeight = document.body.clientHeight /2; scrollTop = document.body.scrollTop; } else { clientHeight = document.documentElement.clientHeight /2; scrollTop = document.documentElement.scrollTop; } //divElement.innerHTML = s.lastChild.firstChild.nodeValue; if(s) { divElement.style.display = "block"; } divElement.innerHTML = s; //调用executeHtml_AjaxScript方法执行脚本块 executeHtml_AjaxScript(s); if(width) { divElement.style.left = (document.documentElement.clientWidth/2 + document.documentElement.scrollLeft - width/2)+"px"; } else { divElement.style.left = (document.documentElement.clientWidth/2 + document.documentElement.scrollLeft)+"px"; } divElement.style.top = (clientHeight + scrollTop - divElement.clientHeight/2)+"px"; }); } /* ----利用JavaScript的eval方法执行脚本---- */ function executeHtml_AjaxScript(html) { var reg = /]*>([^\x00]+)$/i; //对整段HTML片段按<\/script>拆分 var htmlBlock = html.split("<\/script>"); for (var i in htmlBlock) { var blocks; //匹配正则表达式的内容数组,blocks[1]就是真正的一段脚本内容,因为前面reg定义我们用了括号进行了捕获分组 if (blocks = htmlBlock[i].match(reg)) { //清除可能存在的注释标记,对于注释结尾-->可以忽略处理,eval一样能正常工作 var code = blocks[1].replace(/