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);
}