Este código javascript es para hacer dragable determinado contenido en la web pero el problema es que se actualiza la pagina y se conserva pero a cerrar y abrir el explorador los cambios se desasen (ya comprobé que estén activados los cookies en la PC):
Código Javascript:
Ver original
if(!window.rememberPositionedInCookie)var rememberPositionedInCookie = true; if(!window.rememberPosition_cookieName)var rememberPosition_cookieName = 'jtkm6'; var dragObjArray = new Array(); var dragObjCloneArray = new Array(); var numericIdToBeDragged = false; var dragDropTimer = -1; var mouse_x; var mouse_y; var el_x; var el_y; var currentZIndex = 10000; var dragableElementMoved = new Array(); var dragableContent_cookieString; var dragableContent_cookieItems = new Array(); // Funcion para guardar los cookies. function Get_Cookie(name) { var start = document.cookie.indexOf(name+"="); var len = start+name.length+1; if ((!start) && (name != document.cookie.substring(0,name.length))) return null; if (start == -1) return null; var end = document.cookie.indexOf(";",len); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(len,end)); } function Set_Cookie(name,value,expires,path,domain,secure) { expires = expires * 60*60*24*1000; var today = new Date(); var expires_date = new Date( today.getTime() + (expires) ); var cookieString = name + "=" +escape(value) + ( (expires) ? ";expires=" + expires_date.toGMTString() : "") + ( (path) ? ";path=" + path : "") + ( (domain) ? ";domain=" + domain : "") + ( (secure) ? ";secure" : ""); document.cookie = cookieString; } function getTopPos(inputObj) { var returnValue = inputObj.offsetTop; while((inputObj = inputObj.offsetParent) != null){ if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop; } return returnValue; } function getLeftPos(inputObj) { var returnValue = inputObj.offsetLeft; while((inputObj = inputObj.offsetParent) != null){ if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft; } return returnValue; } function initDragDropElement(e) { if(document.all)e = event; if(document.all)e = event; if (e.target) source = e.target; else if (e.srcElement) source = e.srcElement; if (source.nodeType == 3) // defeat Safari bug source = source.parentNode; if(source.tagName.toLowerCase()=='input' || source.tagName.toLowerCase()=='textarea')return; numericIdToBeDragged = this.className.replace(/[^0-9]/g,''); dragDropTimer=0; mouse_x = e.clientX; mouse_y = e.clientY; currentZIndex = currentZIndex + 1; dragObjCloneArray[numericIdToBeDragged].style.zIndex = currentZIndex; if(!dragableElementMoved[numericIdToBeDragged]){ dragObjCloneArray[numericIdToBeDragged].style.top = getTopPos(dragObjArray[numericIdToBeDragged]) + 'px'; dragObjCloneArray[numericIdToBeDragged].style.left = getLeftPos(dragObjArray[numericIdToBeDragged]) + 'px'; } el_x = dragObjCloneArray[numericIdToBeDragged].style.left.replace('px','')/1; el_y = dragObjCloneArray[numericIdToBeDragged].style.top.replace('px','')/1; timerDragDropElement(); return false; } function timerDragDropElement() { if(dragDropTimer>=0 && dragDropTimer<10){ dragDropTimer = dragDropTimer + 1; setTimeout('timerDragDropElement()',5); return; } if(dragDropTimer>=10){ if(dragObjCloneArray[numericIdToBeDragged].style.display=='none'){ dragObjArray[numericIdToBeDragged].style.visibility = 'hidden'; dragObjCloneArray[numericIdToBeDragged].style.display = 'block'; dragObjCloneArray[numericIdToBeDragged].style.visibility = 'visible'; dragObjCloneArray[numericIdToBeDragged].style.top = getTopPos(dragObjArray[numericIdToBeDragged]) + 'px'; dragObjCloneArray[numericIdToBeDragged].style.left = getLeftPos(dragObjArray[numericIdToBeDragged]) + 'px'; dragableElementMoved[numericIdToBeDragged] = true; } } } function cancelEvent() { return false; } function cancelSelectionEvent() { if(dragDropTimer>=0)return false; return true; } function moveDragableElement(e) { if(document.all)e = event; if(dragDropTimer<10)return; dragObjCloneArray[numericIdToBeDragged].style.left = (e.clientX - mouse_x + el_x) + 'px'; dragObjCloneArray[numericIdToBeDragged].style.top = (e.clientY - mouse_y + el_y) + 'px'; } function stop_dragDropElement() { dragDropTimer = -1; if(rememberPositionedInCookie && dragObjCloneArray[numericIdToBeDragged]){ dragableContent_cookieItems['dragableElementClone' + numericIdToBeDragged] = [dragObjCloneArray[numericIdToBeDragged].style.left,dragObjCloneArray[numericIdToBeDragged].style.top,dragObjCloneArray[numericIdToBeDragged].style.zIndex]; } if(rememberPositionedInCookie)createCookieString(); numericIdToBeDragged = false; } function createCookieString() { var stringToSave = ''; for(var prop in dragableContent_cookieItems){ if(stringToSave)stringToSave = stringToSave + '###'; stringToSave = stringToSave + prop + ',' + dragableContent_cookieItems[prop][0] + ',' + dragableContent_cookieItems[prop][1] + ',' + dragableContent_cookieItems[prop][2]; } Set_Cookie(rememberPosition_cookieName,stringToSave,60000000); } function initdragableElements() { var dragableContent_cookieString = false; if(rememberPositionedInCookie){ dragableContent_cookieString = Get_Cookie(rememberPosition_cookieName); } var tmpElements = new Array(); var allObjects = document.getElementsByTagName('*'); for(var no=0;no<allObjects.length;no++){ if(allObjects[no].className=='dragableElement'){ allObjects[no].style.cursor = 'move'; tmpElements[tmpElements.length] = allObjects[no]; } } for(var no=0;no<tmpElements.length;no++){ var el = tmpElements[no].cloneNode(true); tmpElements[no].className='dragableElement' + no; el.onmousedown = initDragDropElement; el.className='dragableElementClone' + no; el.style.position='absolute'; el.style.display='none'; el.style.visibility='hidden'; el.style.top = getTopPos(tmpElements[no]) + 'px'; el.style.left = getLeftPos(tmpElements[no]) + 'px'; tmpElements[no].parentNode.insertBefore(el,tmpElements[no]); tmpElements[no].onmousedown = initDragDropElement; dragObjArray[no] = tmpElements[no]; dragObjCloneArray[no] = el; } document.body.onmousemove = moveDragableElement; document.body.onmouseup = stop_dragDropElement; document.body.onselectstart = cancelSelectionEvent; document.body.ondragstart = cancelEvent; // Posicionamiento de cookies. if(dragableContent_cookieString){ var items = dragableContent_cookieString.split('###'); for(var no=0;no<items.length;no++){ var tokens = items[no].split(','); dragableContent_cookieItems[tokens[0]] = [tokens[1] ,tokens[2],tokens[3]]; } positionItemsFromCookie(); } } function positionItemsFromCookie() { for(var prop in dragableContent_cookieItems){ for(var no=0;no<dragObjCloneArray.length;no++){ if(dragObjCloneArray[no].className==prop){ dragableElementMoved[no] = true; dragObjCloneArray[no].style.display='block'; dragObjArray[no].style.visibility = 'hidden'; dragObjCloneArray[no].style.visibility = 'visible'; dragObjCloneArray[no].style.left = dragableContent_cookieItems[prop][0]; dragObjCloneArray[no].style.top = dragableContent_cookieItems[prop][1]; dragObjCloneArray[no].style.zIndex = dragableContent_cookieItems[prop][2]; currentZIndex = Math.max(currentZIndex,dragableContent_cookieItems[prop][2]/1 + 1); } } } }