Avatar billede hp4 Nybegynder
19. april 2006 - 15:06 Der er 4 kommentarer og
1 løsning

hvis skjuld cookie ja men hvorfor virker det ik

Hej exp.

Hvad er der lige gal med denne kode:
var ns4 = (document.layers);
var ie4 = (document.all && !document.getElementById);
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);

function attach(id){
  var obj
  if(ns4) obj = document.layers[id];
  else if(ie4) obj = document.all[id];
  else if(ie5 || ns6) obj = document.getElementById(id);

return obj
}

function hide_obj(id){
  document.write("<?php setcookie('hide','show', time+3600*24*7*4*55); if($_COOKIE[hide]=='hide'){ ?>");
    temp_Obj = attach(id);
    if(ns4) temp_Obj.visibility = "hide";
    else temp_Obj.style.visibility = "hidden"

  document.write("<?php }else{ ?>");

    temp_Obj = attach(id);
    if(ns4) temp_Obj.visibility = "show";
    else temp_Obj.style.visibility = "visible"
  document.write("<?php } ?>");
}


function show_obj(id){
  document.write("<?php setcookie('hide','show', time+3600*24*7*4*55); if($_COOKIE[hide]=='hide'){ ?>");
    temp_Obj = attach(id);
    if(ns4) temp_Obj.visibility = "hide";
    else temp_Obj.style.visibility = "hidden"

  document.write("<?php }else{ ?>");

    temp_Obj = attach(id);
    if(ns4) temp_Obj.visibility = "show";
    else temp_Obj.style.visibility = "visible"
  document.write("<?php } ?>");
}


(Skal lige siges har fundt js kode og skrevet php i den, da jeg ikke kan finde ud af js :S)

I mine øjne burde det virke, men det gør det ikke :S
se link: http://hp4.dk/New_design/index.php
og så i toppen er der to links der hedder "Hide" og "show" klik på en af dem og siden bliver bare helt hvid :S


Den der evt. kan komme med en bedre kode for point.
(Koden skal bruges til at når man klikker på et link/objekt så vil der være et andet objekt som bliver skjuldt/vist, og med cookie sådan at man bare kan lukke browseren og åbne den igen og så har husket ens instillinger)

Tak
Avatar billede horsmark Nybegynder
19. april 2006 - 16:40 #1
hey du har helt misforstået det... du kan _ikke_ skrive PHP kode med javascript da PHP jo kun eksekveres på serveren... og javascript er kun på klienten...
Avatar billede horsmark Nybegynder
19. april 2006 - 16:56 #2
<h1>Showhide by cookie</h1>
<script type="text/javascript">
var oCurrent,o
function showHide(s){
    o = document.getElementById(s)
    if ( typeof(oCurrent) != "undefined" && oCurrent != o )    oCurrent.style.display = "none"
    o.style.display =  o.style.display == "none" ? "block" : "none";
    oCurrent = o
    SetCookie('remember_div', s)
}

window.onload = function (){
    var s = GetCookie('remember_div')
    showHide(s)
}
    ////////////////
    // Cookiehandling functions
    function getCookieVal (offset) {
      var endstr = document.cookie.indexOf (";", offset);
      if (endstr == -1)
        endstr = document.cookie.length;
      return unescape(document.cookie.substring(offset, endstr));
    }

    //    Function to correct for 2.x Mac date bug.  Call this function to
    //  fix a date object prior to passing it to SetCookie.
    //  IMPORTANT:  This function should only be called *once*
    function FixCookieDate (date) {
      var base = new Date(0);
      var skew = base.getTime(); // dawn of (Unix) time - should be 0
      if (skew > 0)  // Except on the Mac - ahead of its time
        date.setTime (date.getTime() - skew);
    }

    function GetCookie (name) {
      var arg = name + "=";
      var alen = arg.length;
      var clen = document.cookie.length;
      var i = 0;
      while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
          return getCookieVal (j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
      }
      return null;
    }

    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 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";
      }
    }
</script>
<a href="java script:showHide('div1')">vis/skjul 1</a> <a href="java script:showHide('div2')">vis/skjul 2</a>
<div id="div1" style="display:none">kodekodekode</div>
<div id="div2" style="display:none">nissenissenisse</div>
Avatar billede horsmark Nybegynder
19. april 2006 - 16:57 #3
Mht ovenstående:
1. alle cookiefunctioner kan du smide i din globale javascript fil du inkluderer på alle dine sider :-)
Avatar billede hp4 Nybegynder
19. april 2006 - 18:16 #4
horsmark: Smid et svar, en lang smøre og jeg fatede ikke ret meget af det... Men det virker da :)
Avatar billede horsmark Nybegynder
19. april 2006 - 18:20 #5
okidoki her :-)
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