//创建XMLHTTP对象 function createXMLHttpRequest() { var xmlHttp = null; try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new XMLHttpRequest(); } catch (e) {} } } return xmlHttp; } //请求链接 //url: 请求地址 //fun:回调函数 function startRequest(url, fun, xmlHttp) { xmlHttp.onreadystatechange = fun; xmlHttp.open("GET", url, true); xmlHttp.send(null); } //获得xml子节点 //father:父节点 //name:子节点名称 //如果获得则返回节点,没有则返回null function getXmlChild(father, name) { var es = father.getElementsByTagName(name); if (es.length == 0) return null; else return es[0]; } String.prototype.trim = function() { // 用正则表达式将前后空格 // 用空字符串替代。 var t = this.replace(/(^\s*)|(\s*$)/g, ""); return t.replace(/(^ *)|( *$)/g, ""); } //获得xml节点值 //father:父节点 //name:子节点名称 //defaultvalue:默认值 //如果获得则返回节点值,没有则返回defaultvalue function getXmlData(father, name, defaultvalue) { var es = father.getElementsByTagName(name); if (es.length == 0) return defaultvalue; else if (es[0].firstChild == null) return defaultvalue; else { for (var i = 0; i < es[0].childNodes.length; i++) { var node = es[0].childNodes[i]; if (node.nodeValue != null && node.nodeValue.trim() != "") { return node.nodeValue; } } return defaultvalue; } } //把"转换为" function escapeForValue(str) { return str.replace(/\"/g, """); } //用来实现文章的计数 function getClickTimes(newsid, owner, type, randomid) { var url = '/system/resource/code/news/click/clicktimes.jsp'; if (!type) type = "wbnews"; if (!randomid) { randomid = "n"; } else { randomid = "n" + randomid; } var xmlHttp = createXMLHttpRequest(); var url = url + "?wbnewsid=" + newsid + "&owner=" + owner + "&type=" + type + "&randomid=" + randomid; xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = function() { onGetClickTimes(xmlHttp); }; xmlHttp.send(null); } function _getBatchClickTimes(newsid, owner, type, randomid) { var url = '/system/resource/code/news/click/batchclicktimes.jsp'; if (!type) type = "wbnews"; if (!randomid) { randomid = "n"; } else { randomid = "n" + randomid; } var wbnewsids = newsid.split(","); var isshow = false; for (var i = 0; i < wbnewsids.length; i++) { var obj = document.getElementById(randomid + wbnewsids[i]); if (obj != null) isshow = true; } if (isshow) { var xmlHttp = createXMLHttpRequest(); var url = url + "?wbnewsid=" + newsid + "&owner=" + owner + "&type=" + type + "&randomid=" + randomid; xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = function() { _onGetBatchClickTimes(xmlHttp); }; xmlHttp.send(null); } } //用来实现文章的计数 function _onGetBatchClickTimes(originalRequest) { if (originalRequest.readyState == 4 && originalRequest.status == 200) { var str = originalRequest.responseText; var json = eval("(" + str + ")"); for (var i = 0; json != null && i < (json.length ? json.length : 1); i++) { var objid = json.length ? (json[i].randomid + json[i].wbnewsid) : (json.randomid + json.wbnewsid); var spanobj = document.getElementsByName(objid); if (spanobj.length > 0) { for (var j = 0; j < spanobj.length; j++) { spanobj[j].innerHTML = json[i].clicktime; } } } } } //用来实现文章的计数 function onGetClickTimes(originalRequest) { if (originalRequest.readyState == 4 && originalRequest.status == 200) { var str = originalRequest.responseText; var json = eval("(" + str + ")"); for (var i = 0; json != null && i < (json.length ? json.length : 1); i++) { var objid = json.length ? (json[i].randomid + json[i].wbnewsid) : (json.randomid + json.wbnewsid); var objs = document.getElementsByTagName("span"); if (objs.length > 0) { for (var j = 0; j < objs.length; j++) { if (objid == objs[j].id) objs[j].innerHTML = json.length ? json[i].wbshowtimes : json.wbshowtimes; } } } } } function addClickTimes(urlid, owner, type) { var url = '/system/resource/code/news/click/addclicktimes.jsp'; var xmlHttp = createXMLHttpRequest(); var url = url + "?wburlid=" + urlid + "&owner=" + owner + "&type=" + type; xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = function() {}; xmlHttp.send(null); } loadXML = function(xmlString) { var xmlDoc = null; //判断浏览器的类型 //支持IE浏览器 if (!window.DOMParser && window.ActiveXObject) { //window.DOMParser 判断是否是非ie浏览器 var xmlDomVersions = ['MSXML.2.DOMDocument.6.0', 'MSXML.2.DOMDocument.3.0', 'Microsoft.XMLDOM']; for (var i = 0; i < xmlDomVersions.length; i++) { try { xmlDoc = new ActiveXObject(xmlDomVersions[i]); xmlDoc.async = false; xmlDoc.loadXML(xmlString); //loadXML方法载入xml字符串 break; } catch (e) {} } } //支持Mozilla浏览器 else if (window.DOMParser && document.implementation && document.implementation.createDocument) { try { /* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。 * 要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其 parseFromString() 方法 * parseFromString(text, contentType) 参数text:要解析的 XML 标记 参数contentType文本的内容类型 * 可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一个。注意,不支持 "text/html"。 */ domParser = new DOMParser(); xmlDoc = domParser.parseFromString(xmlString, 'text/xml'); } catch (e) {} } else { return null; } return xmlDoc; }