www.gusucode.com > YulinCMS 雨林内容管理系统 2.0源码程序 > Common/JS/Common.js
/************************ 通用JS脚本 **********************/ // 获取元素 function $(value) { return document.getElementById(value); } // 清除前后空格 function trim(str) { str = str.replace(/(^\s*)|(\s*$)/g,""); return str; } // 打开对话框函数 function openDialog(page,width,height) { return showModalDialog(page,window,"dialogWidth:"+width+"px; dialogHeight:"+height+"px; center:yes; status:0; help:0"); } // 选择图片 function selectPicture(page,obj) { var param = ""; var picPath = obj.value; if(picPath!="") { param = "&PicPath="+encodeURI(picPath); } var returnVal = openDialog(page + param,600,480); if(returnVal!=null) { if(returnVal!="") { obj.value = returnVal; } else { obj.value = ""; } } } // 选择文件 function selectFile(page,obj) { var param = ""; var filePath = obj.value; if(filePath!="") { param = "&FilePath="+encodeURI(filePath); } var returnVal = openDialog(page + param,600,280); if(returnVal!=null) { if(returnVal!="") { obj.value = returnVal; } else { obj.value = ""; } } } // 获取XMLHttpRequest对象 function getXMLHttpRequest(){ var request = false; try { request = new XMLHttpRequest(); } catch (trymicrosoft) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { request = false; } } } return request; } // 获取分级选项 function getGradeItem(pageUrl,fieldName,selectId1,selectId2,selNumber,isInit) { for(var x=selectId2; x<=selNumber;x++){ var obj = document.getElementById('GradeSelect_'+fieldName+'_'+x); var count = obj.options.length-1; for(var y=0;y<count;y++) { try{obj.options.remove(1);}catch(e){obj.remove(1);} } } if(!isInit) { var objSel = document.getElementById('GradeSelect_'+fieldName+'_'+selectId1); if(objSel.value=="" || objSel.value=="0") return; } var objSelect = document.getElementById('GradeSelect_'+fieldName+'_'+selectId2); var ch = "?"; if (pageUrl.indexOf("?")>=0) ch="&"; var xmlhttp = getXMLHttpRequest(); if(!xmlhttp) return; var rand = parseInt(Math.random()*999999999); xmlhttp.open("GET",""+pageUrl+ch+"tmp="+rand,false); xmlhttp.onreadystatechange = function(){ if(xmlhttp.readyState==4 && xmlhttp.status==200 ){ var arr = eval(xmlhttp.responseText); for(var i=0;i<arr.length;i++) { objSelect.options[objSelect.length] = new Option(arr[i].title,arr[i].value); } } }; xmlhttp.send(null); } /************************ 内容页、专题页、点击计数JS脚本 **********************/ function updateClick(pageUrl,id) { var xmlhttp = false; try { xmlhttp = new XMLHttpRequest(); } catch (trymicrosoft) { try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { xmlhttp = false; } } } if(!xmlhttp) return; var ch = "?"; if (pageUrl.indexOf("?")>=0) ch="&"; var rand = parseInt(Math.random()*999999999999999); xmlhttp.open("GET","" + pageUrl + ch + "tmp= " + rand,true); xmlhttp.onreadystatechange = function(){ if(xmlhttp.readyState==4 && xmlhttp.status==200 ){ document.getElementById(id).innerHTML = xmlhttp.responseText; } }; xmlhttp.send(null); } /************************ Digg JS脚本 **********************/ function updateDigg(pageUrl,id1,id2,action) { var xmlhttp = false; try { xmlhttp = new XMLHttpRequest(); } catch (trymicrosoft) { try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { xmlhttp = false; } } } if(!xmlhttp) return; var msg = ''; var ch = "?"; if (pageUrl.indexOf("?")>=0) ch="&"; var rand = parseInt(Math.random()*999999999999999); xmlhttp.open("GET","" + pageUrl + ch + "tmp= " + rand,true); xmlhttp.onreadystatechange = function(){ if(xmlhttp.readyState==4 && xmlhttp.status==200 ){ if(xmlhttp.responseText=='-1'){ msg = "您已经投过票了,感谢您的参与!"; } else { var arr = xmlhttp.responseText.split("|"); document.getElementById(id1).innerHTML = arr[0]; document.getElementById(id2).innerHTML = arr[1]; msg = '投票成功'; } if(action == 'vote'){ alert(msg); } } }; xmlhttp.send(null); } /************************ 自定义调用JS脚本 **********************/ function getCustomCall(pageUrl,id) { var xmlhttp = false; try { xmlhttp = new XMLHttpRequest(); } catch (trymicrosoft) { try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { xmlhttp = false; } } } if(!xmlhttp) return; var ch = "?"; if (pageUrl.indexOf("?")>=0) ch="&"; var rand = parseInt(Math.random()*999999999999999); xmlhttp.open("GET","" + pageUrl + ch + "tmp= " + rand,true); xmlhttp.onreadystatechange = function(){ if(xmlhttp.readyState==4 && xmlhttp.status==200 ){ document.getElementById(id).innerHTML = xmlhttp.responseText; parseScript(xmlhttp.responseText); } }; xmlhttp.send(null); } // 分离并执行所有JS脚本 function parseScript(responseText) { var reg = /<script[^>]+\bsrc\s*=\s*(([\"][^\"]+[\"])|([\'][^\']+[\'])|([^\'\"\s]\S*))[^>]*>/ig; var arr = []; responseText.replace(reg,function(a,b){return arr.push(b)}); for(var i=0;i<arr.length;i++) { try { loadJS(arr[i].replace(/(^\'*)|(\'*$)/g,"").replace(/(^\"*)|(\"*$)/g,"")) } catch(e){} } reg = /<script[^>]*>((.|\n|\r)*?)<\/script>/ig; arr = []; responseText.replace(reg,function(a,b){return arr.push(b)}); for(var i=0;i<arr.length;i++) { try { if(!!(window.attachEvent && !window.opera)) { window.execScript(arr[i]); } else if(navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1) { window.eval(arr[i]); } else { eval(arr[i]); } } catch(e){} } } // 载入JS function loadJS(fileUrl) { var oHead = document.getElementsByTagName('HEAD').item(0); var oScript= document.createElement("script"); oScript.type = "text/javascript"; oScript.src = fileUrl; oHead.appendChild(oScript); }