成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓
當前位置:工程項目OA系統(tǒng) > 泛普各地 > 江西OA系統(tǒng) > 鷹潭OA > 鷹潭網(wǎng)站建設公司
ecshop中jQuery沖突解決
鷹潭網(wǎng)站建設www.diyphp.net
	<span style="COLOR: rgb(0,0,0)">首要就是Ecshop的AJAX傳輸類,transport.js 中重寫了object的對象原型,然后招致了與jq框架的抵觸。 
	<span style="COLOR: rgb(0,0,0)">處理:
	1. 刪除transport.js中587行 - 636行中關于object.prototype.toJSONString的界說
	2. 自界說一個辦法用于object對象的json序列化
	如下 
- function obj2str(o)
 - {
 - //開端
 - var r = [];
 - if(typeof o =="string") return """+o.replace(/(['"[url=file://\])/g,]\])/g,"\$1").replace(/(n)/g,"\n").replace(/(r)/g,"\r").replace(/(t)/g,"\t")+"[/url]"";
 - if(typeof o =="undefined") return "undefined";
 - if(typeof o == "object"){
 - if(o===null) return "null";
 - else if(!o.sort){
 - for(var i in o)
 - {
 - if(i!="toJSONString") //添加判別,肅清對object原型的界說參加到json中
 - r.push("""+i+"""+":"+obj2str(o));
 - }
 - r="{"+r.join()+"}";
 - }else{
 - for(var i =0;i<o.length;i++)
 - r.push(obj2str(o))
 - r="["+r.join()+"]"
 - }
 - return r;
 - }
 - return o.toString();
 - //完畢
 - }
 
	<span style="COLOR: rgb(0,0,0)">3. 在模板頁和js劇本中一切關于 obj.toJSONString()的當?shù)?,一概交換為obj2str(obj) 

	<span style="COLOR: rgb(0,0,0)">4. 重寫好后發(fā)現(xiàn)compare.js, 首要重寫個中的準時器 功用。 將以下代碼交換到compare.js中 
- var Compare = new Object();
 - Compare = {
 - add : function(goodsId, goodsName, type)
 - {
 - var count = 0;
 - for (var k in this.data)
 - {
 - if (typeof(this.data[k]) == "function")
 - continue;
 - if (this.data[k].t != type) {
 - alert(goods_type_different.replace("%s", goodsName));
 - return;
 - }
 - count++;
 - }
 - if (this.data[goodsId])
 - {
 - alert(exist.replace("%s",goodsName));
 - return;
 - }
 - else
 - {
 - this.data[goodsId] = {n:goodsName,t:type};
 - }
 - this.save();
 - this.init();
 - },
 - init : function(){
 - this.data = new Object();
 - var cookieValue = document.getCookie("compareItems");
 - if (cookieValue != null) {
 - this.data = cookieValue.parseJSON();
 - }
 - if (!this.compareBox)
 - {
 - this.compareBox = document.createElement("DIV");
 - var submitBtn = document.createElement("INPUT");
 - this.compareList = document.createElement("UL");
 - this.compareBox.id = "compareBox";
 - this.compareBox.style.display = "none";
 - this.compareBox.style.top = "200px";
 - this.compareBox.align = "center";
 - this.compareList.id = "compareList";
 - submitBtn.type = "button";
 - submitBtn.value = button_compare;
 - this.compareBox.appendChild(this.compareList);
 - this.compareBox.appendChild(submitBtn);
 - submitBtn.onclick = function() {
 - var cookieValue = document.getCookie("compareItems");
 - var obj = cookieValue.parseJSON();
 - var url = document.location.href;
 - url = url.substring(0,url.lastIndexOf('/')+1) + "compare.php";
 - var i = 0;
 - for(var k in obj)
 - {
 - if(typeof(obj[k])=="function")
 - continue;
 - if(i==0)
 - url += "?goods[]=" + k;
 - else
 - url += "&goods[]=" + k;
 - i++;
 - }
 - if(i<2)
 - {
 - alert(compare_no_goods);
 - return ;
 - }
 - document.location.href = url;
 - }
 - document.body.appendChild(this.compareBox);
 - }
 - this.compareList.innerHTML = "";
 - var self = this;
 - for (var key in this.data)
 - {
 - if(typeof(this.data[key]) == "function")
 - continue;
 - var li = document.createElement("LI");
 - var span = document.createElement("SPAN");
 - span.style.overflow = "hidden";
 - span.style.width = "100px";
 - span.style.height = "20px";
 - span.style.display = "block";
 - span.innerHTML = this.data[key].n;
 - li.appendChild(span);
 - li.style.listStyle = "none";
 - var delBtn = document.createElement("IMG");
 - delBtn.src = "themes/default/images/drop.gif";
 - delBtn.className = key;
 - delBtn.onclick = function(){
 - document.getElementById("compareList").removeChild(this.parentNode);
 - delete self.data[this.className];
 - self.save();
 - self.init();
 - }
 - li.insertBefore(delBtn,li.childNodes[0]);
 - this.compareList.appendChild(li);
 - }
 - if (this.compareList.childNodes.length > 0)
 - {
 - this.compareBox.style.display = "";
 - this.timer = window.setInterval("flowdiv('compareBox')", 50);
 - }
 - else
 - {
 - this.compareBox.style.display = "none";
 - window.clearInterval(this.timer);
 - this.timer = 0;
 - }
 - },
 - save : function()
 - {
 - var date = new Date();
 - date.setTime(date.getTime() + 99999999);
 - document.setCookie("compareItems", obj2str(this.data));
 - },
 - lastScrollY : 0
 - }
 - //用于準時器的主動滾動的層
 - lastScrollY=0;
 - function flowdiv(domid){
 - var diffY;
 - if (document.documentElement && document.documentElement.scrollTop)
 - diffY = document.documentElement.scrollTop;
 - else if (document.body)
 - diffY = document.body.scrollTop
 - else
 - {/*Netscape stuff*/}
 - //alert(diffY);
 - percent=.1*(diffY-lastScrollY);
 - if(percent>0) percent=Math.ceil(percent);
 - else percent=Math.floor(percent);
 - document.getElementById(domid).style.top=parseInt(document.getElementById(domid).style.top)+percent+"px";
 - lastScrollY=lastScrollY+percent;
 - //alert(lastScrollY);
 

