Avatar billede jj_presentia Nybegynder
05. november 2007 - 22:44 Der er 13 kommentarer

Javascript sætter en cookie - den skal væk

/ KODEN /
/*
// "Tabs & Slides In Content Items" Plugin for Joomla! 1.0.x - Version 2.2
// License: http://www.gnu.org/copyleft/gpl.html
// Authors: Fotis Evangelou - George Chouliaras
// Copyright (c) 2006-2007 JoomlaWorks.gr - http://www.joomlaworks.gr
// Project page at http://www.joomlaworks.gr - Demos at http://demo.joomlaworks.gr
// ***Last update: January 14th, 2007***
*/

/* Copyright (c) 2006 Alf Magne Kalleland */
var objectIdToSlideDown = false;
var jw_activeId = false;
function showHideContent(e,inputId) {
    if(!inputId)inputId = this.id;
    inputId = inputId + '';
    var numericId = inputId.replace(/[^0-9]/g,'');
    var answerDiv = document.getElementById('jw_a' + numericId);
    objectIdToSlideDown = false;
    if(!answerDiv.style.display || answerDiv.style.display=='none'){
        if(jw_activeId &&  jw_activeId!=numericId){           
            objectIdToSlideDown = numericId;
            slideContent(jw_activeId,(jw_slideSpeed*-1));
        }else{
            answerDiv.style.display='block';
            answerDiv.style.visibility = 'visible';
            slideContent(numericId,jw_slideSpeed);
        }
    }else{
        slideContent(numericId,(jw_slideSpeed*-1));
        jw_activeId = false;
    }   
}
function slideContent(inputId,direction) {
    var obj =document.getElementById('jw_a' + inputId);
    var contentObj = document.getElementById('jw_ac' + inputId);
    height = obj.clientHeight;
    height = height + direction;
    rerunFunction = true;
    if(height>contentObj.offsetHeight){
        height = contentObj.offsetHeight;
        rerunFunction = false;
    }
    if(height<=1){
        height = 1;
        rerunFunction = false;
    }
    obj.style.height = height + 'px';
    var topPos = height - contentObj.offsetHeight;
    if(topPos>0)topPos=0;
    contentObj.style.top = topPos + 'px';
    if(rerunFunction){
        setTimeout('slideContent(' + inputId + ',' + direction + ')',jw_timer);
    }else{
        if(height<=1){
            obj.style.display='none';
            if(objectIdToSlideDown && objectIdToSlideDown!=inputId){
                document.getElementById('jw_a' + objectIdToSlideDown).style.display='block';
                document.getElementById('jw_a' + objectIdToSlideDown).style.visibility='visible';
                slideContent(objectIdToSlideDown,jw_slideSpeed);               
            }
        }else{
            jw_activeId = inputId;
        }
    }
}
function initShowHideDivs() {
    var divs = document.getElementsByTagName('DIV');
    var divCounter = 1;
    for(var no=0;no<divs.length;no++){
        if(divs[no].className=='jw_slidetitle'){
            divs[no].onclick = showHideContent;
            divs[no].id = 'jw_q'+divCounter;
            var answer = divs[no].nextSibling;
            while(answer && answer.tagName!='DIV'){
                answer = answer.nextSibling;
            }
            answer.id = 'jw_a'+divCounter;   
            contentDiv = answer.getElementsByTagName('DIV')[0];
            contentDiv.style.top = 0 - contentDiv.offsetHeight + 'px';    
            contentDiv.className='jw_slidecontent';
            contentDiv.id = 'jw_ac' + divCounter;
            answer.style.display='none';
            answer.style.height='1px';
            divCounter++;
        }       
    }   
}
// old: window.onload = initShowHideDivs; - see bottom for startup


/* Copyright (c) 2006 Patrick Fitzgerald */
// Temporarily hide tabs

// Cookie handling
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}
function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}
function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

// The tabs!
function tabberObj(argsObj)
{var arg;this.div=null;this.classMain="tabber";this.classMainLive="tabberlive";this.classTab="tabbertab";this.classTabDefault="tabbertabdefault";this.classNav="tabbernav";this.classTabHide="tabbertabhide";this.classNavActive="tabberactive";this.titleElements=['h2','h3','h4','h5','h6'];this.titleElementsStripHTML=true;this.removeTitle=true;this.addLinkId=false;this.linkIdFormat='<tabberid>nav<tabnumberone>';for(arg in argsObj){this[arg]=argsObj[arg];}
this.REclassMain=new RegExp('\\b'+this.classMain+'\\b','gi');this.REclassMainLive=new RegExp('\\b'+this.classMainLive+'\\b','gi');this.REclassTab=new RegExp('\\b'+this.classTab+'\\b','gi');this.REclassTabDefault=new RegExp('\\b'+this.classTabDefault+'\\b','gi');this.REclassTabHide=new RegExp('\\b'+this.classTabHide+'\\b','gi');this.tabs=new Array();if(this.div){this.init(this.div);this.div=null;}}
tabberObj.prototype.init=function(e)
{var
childNodes,i,i2,t,defaultTab=0,DOM_ul,DOM_li,DOM_a,aId,headingElement;if(!document.getElementsByTagName){return false;}
if(e.id){this.id=e.id;}
this.tabs.length=0;childNodes=e.childNodes;for(i=0;i<childNodes.length;i++){if(childNodes[i].className&&childNodes[i].className.match(this.REclassTab)){t=new Object();t.div=childNodes[i];this.tabs[this.tabs.length]=t;if(childNodes[i].className.match(this.REclassTabDefault)){defaultTab=this.tabs.length-1;}}}
DOM_ul=document.createElement("ul");DOM_ul.className=this.classNav;for(i=0;i<this.tabs.length;i++){t=this.tabs[i];t.headingText=t.div.title;if(this.removeTitle){t.div.title='';}
if(!t.headingText){for(i2=0;i2<this.titleElements.length;i2++){headingElement=t.div.getElementsByTagName(this.titleElements[i2])[0];if(headingElement){t.headingText=headingElement.innerHTML;if(this.titleElementsStripHTML){t.headingText.replace(/<br>/gi," ");t.headingText=t.headingText.replace(/<[^>]+>/g,"");}
break;}}}
if(!t.headingText){t.headingText=i+1;}
DOM_li=document.createElement("li");t.li=DOM_li;DOM_a=document.createElement("a");DOM_a.appendChild(document.createTextNode(t.headingText));DOM_a.href="java script:void(null);";DOM_a.title=t.headingText;DOM_a.onclick=this.navClick;DOM_a.tabber=this;DOM_a.tabberIndex=i;if(this.addLinkId&&this.linkIdFormat){aId=this.linkIdFormat;aId=aId.replace(/<tabberid>/gi,this.id);aId=aId.replace(/<tabnumberzero>/gi,i);aId=aId.replace(/<tabnumberone>/gi,i+1);aId=aId.replace(/<tabtitle>/gi,t.headingText.replace(/[^a-zA-Z0-9\-]/gi,''));DOM_a.id=aId;}
DOM_li.appendChild(DOM_a);DOM_ul.appendChild(DOM_li);}
e.insertBefore(DOM_ul,e.firstChild);e.className=e.className.replace(this.REclassMain,this.classMainLive);this.tabShow(defaultTab);if(typeof this.onLoad=='function'){this.onLoad({tabber:this});}
return this;};tabberObj.prototype.navClick=function(event)
{var
rVal,a,self,tabberIndex,onClickArgs;a=this;if(!a.tabber){return false;}
self=a.tabber;tabberIndex=a.tabberIndex;a.blur();if(typeof self.onClick=='function'){onClickArgs={'tabber':self,'index':tabberIndex,'event':event};if(!event){onClickArgs.event=window.event;}
rVal=self.onClick(onClickArgs);if(rVal===false){return false;}}
self.tabShow(tabberIndex);return false;};tabberObj.prototype.tabHideAll=function()
{var i;for(i=0;i<this.tabs.length;i++){this.tabHide(i);}};tabberObj.prototype.tabHide=function(tabberIndex)
{var div;if(!this.tabs[tabberIndex]){return false;}
div=this.tabs[tabberIndex].div;if(!div.className.match(this.REclassTabHide)){div.className+=' '+this.classTabHide;}
this.navClearActive(tabberIndex);return this;};tabberObj.prototype.tabShow=function(tabberIndex)
{var div;if(!this.tabs[tabberIndex]){return false;}
this.tabHideAll();div=this.tabs[tabberIndex].div;div.className=div.className.replace(this.REclassTabHide,'');this.navSetActive(tabberIndex);if(typeof this.onTabDisplay=='function'){this.onTabDisplay({'tabber':this,'index':tabberIndex});}
return this;};tabberObj.prototype.navSetActive=function(tabberIndex)
{this.tabs[tabberIndex].li.className=this.classNavActive;return this;};tabberObj.prototype.navClearActive=function(tabberIndex)
{this.tabs[tabberIndex].li.className='';return this;};function tabberAutomatic(tabberArgs)
{var
tempObj,divs,i;if(!tabberArgs){tabberArgs={};}
tempObj=new tabberObj(tabberArgs);divs=document.getElementsByTagName("div");for(i=0;i<divs.length;i++){if(divs[i].className&&divs[i].className.match(tempObj.REclassMain)){tabberArgs.div=divs[i];divs[i].tabber=new tabberObj(tabberArgs);}}
return this;}
function tabberAutomaticOnLoad(tabberArgs)
{var oldOnLoad;if(!tabberArgs){tabberArgs={};}
oldOnLoad=window.onload;if(typeof window.onload!='function'){window.onload=function(){tabberAutomatic(tabberArgs);};}else{window.onload=function(){oldOnLoad();tabberAutomatic(tabberArgs);};}}
if(typeof tabberOptions=='undefined'){tabberAutomaticOnLoad();}else{if(!tabberOptions['manualStartup']){tabberAutomaticOnLoad(tabberOptions);}}


// Load everything up
function init() {
    if (arguments.callee.done) return;
    arguments.callee.done = true;
    if (_timer) clearInterval(_timer);
    initShowHideDivs();
    tabberAutomatic(tabberOptions);
    //alert('Tabs &amp; Slides have loaded!');
};
if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", init, false);
}
/*@cc_on @*/
/*@if (@_win32)
    document.write("<script id=__ie_onload defer src=java script:void(0)><\/script>");
    var script = document.getElementById("__ie_onload");
    script.onreadystatechange = function() {
        if (this.readyState == "complete") {
            init();
        }
    };
/*@end @*/
if (/WebKit/i.test(navigator.userAgent)) {
    var _timer = setInterval(function() {
        if (/loaded|complete/.test(document.readyState)) {
            init();
        }
    }, 10);
}
window.onload = init;

/ KODE SLUT /

Hvordan fjerner jeg den funktion som ligger cookien?

Hpber på hjælp
Avatar billede w13 Novice
05. november 2007 - 22:51 #1
Funktionen er denne:

function setCookie(name, value, expires, path, domain, secure) {
    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

Du kan da prøve at fjerne indholdet, altså bare skrive:

function setCookie(name, value, expires, path, domain, secure) {
}

Men formodentlig gi'r det fejl. Det er lidt af en kode at redigere i.
Avatar billede jj_presentia Nybegynder
05. november 2007 - 23:05 #2
Det var også min umiddelbare tanke - det virker ihverfald ikke... desværre
Avatar billede w13 Novice
05. november 2007 - 23:09 #3
Og hvordan virker det ikke?
Avatar billede jj_presentia Nybegynder
05. november 2007 - 23:13 #4
Den sletter ikke cookien... eller også slettes den og ligges så igen - resultatet er af den stadig husker hvilken fane man var på
Avatar billede w13 Novice
05. november 2007 - 23:14 #5
Måske har du bare stadig den gamle cookie liggende? Koden vi fjernede, er den, der sætter cookien. Vi har intet programmeret til at fjerne den. Prøv at slette cookies i dine internetindstillinger.
Avatar billede jj_presentia Nybegynder
05. november 2007 - 23:30 #6
Det virkede desværre heller ikke - slettede alle cookies men den husker det stadig
Avatar billede w13 Novice
05. november 2007 - 23:31 #7
Ok, det er ret godt klaret af koden :) Sikker på, din cache også er slettet? Slettet midlertidige internetfiler?
Avatar billede jj_presentia Nybegynder
05. november 2007 - 23:39 #8
har slettet alt og den er der stadig... mange tak for hjælpen
Avatar billede w13 Novice
05. november 2007 - 23:42 #9
Ok, så har jeg ingen anelse. =)
Avatar billede jj_presentia Nybegynder
05. november 2007 - 23:47 #10
oki doki - ellers mange tak for hjælpen
Avatar billede jj_presentia Nybegynder
06. november 2007 - 13:05 #11
ingen andre forslag?
Avatar billede olebole Juniormester
06. november 2007 - 14:34 #12
<ole>

Ikke før du fortæller det hele  :)
Hvis du sletter alle cookies i din browser, _er_ cookie'en helt sikkert slettet. Der må være noget, du ikke fortæller ... ikke nødvendigvis med vilje, men der er helt sikkert noget, der ikke stemmer. Prøv at lægge et link til siden  :)

/mvh
</bole>
Avatar billede w13 Novice
29. juli 2008 - 09:37 #13
Lukketid?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester