Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Cookies
Forum PHP.pl > Forum > Przedszkole
amii
Potrzebuję skonstruować kod, który poprzez ciasteczka kontroluje wyświetlanie bannera na stronie głównej. W php to było proste:

  1. <?php setcookie('nazwa_cookie', 'wartosc_cookie', time()+3600*4); ?>
  2.  
  3.  
  4. <?php if (!isset($_COOKIE['nazwa_cookie'])) { ?>
  5.  
  6.  
  7. <object data="plik.swf?funkcjaJs=java script:hide('flash')" width="600" height="300" type="application/x-shockwave-flash">
  8. <param name="movie" value="plik.swf?funkcjaJs=java script:hide('flash')" />
  9. <param name="bgcolor" value="#ffffff" />
  10. </object>
  11.  
  12. </div>
  13.  
  14.  
  15. <script type="text/javascript">
  16. function show (ID) {
  17. document.all[ID].style.display='block';
  18. }
  19. function hide (ID) {
  20. document.all[ID].style.display='none';
  21. }
  22. show('flash');
  23. </script>
  24.  
  25. <?php
  26. }
  27. ?>


Niestety muszę ten skrypt wdrożyć na zakodowanej stronie więc nie mogę użyć php, zostaje javascript ale nie wiem jak w javascript sprawdzić czy dane cookie istniej odpowiednik isset w php.
JarCzeS
http://www.w3schools.com/JS/js_cookies.asp
amii
Ok zrobiłem coś takiego ale nie działa w ogóle nie tworzy ciastka. Funkcja wywolujaca to:
<script type="text/javascript">
checkCookie();
</script>
Te funkcje są wsadzone w blok <head></head>

  1. <script type="text/javascript">
  2. function show (ID) { //funkcje pokazujace i wyswietlajace popup-a
  3. document.all[ID].style.display='block';
  4. }
  5. function hide (ID) {
  6. document.all[ID].style.display='none';
  7. }
  8.  
  9.  
  10.  
  11. function setCookie(c_name,value)
  12. {
  13. var exdate=new Date();
  14. exdate.setDate(exdate.getDate()+3600*24); //okreslamy czas wyswietlania cookie 24h
  15. document.cookie=c_name+ "=" +escape(value)+
  16. ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
  17. }
  18.  
  19.  
  20.  
  21.  
  22. function getCookie(c_name) //funkcja zwraca wartosc cookie jesli istniej w przeciwnym wypadku zwraca pusty ciag
  23. {
  24. if (document.cookie.length>0)
  25. {
  26. c_start=document.cookie.indexOf(c_name + "=");
  27. if (c_start!=-1)
  28. {
  29. c_start=c_start + c_name.length+1;
  30. c_end=document.cookie.indexOf(";",c_start);
  31. if (c_end==-1) c_end=document.cookie.length;
  32. return unescape(document.cookie.substring(c_start,c_end));
  33. }
  34. }
  35. return "";
  36. }
  37.  
  38.  
  39.  
  40.  
  41.  
  42. function checkCookie() //funkcja sprawdza czy cookie o padanej nazwie istnieje jesli tak wyprintowuje popupa, jesli nie wywoluje funckje tworzaca cookie
  43. {
  44. username=getCookie('alkomatybiz');
  45. if (username!=null && username!="")
  46. {
  47.  
  48. document.write("<object data=\"plik.swf?funkcjaJs=java script:hide('flash')\" width=\"600\" height=\"300\" type=\"application/x-shockwave-flash\"><param name=\"movie\" value=\"plik.swf?funkcjaJs=java script:hide('flash')\"><param name=\"bgcolor\" value=\"#ffffff\"></object>");
  49. show('flash');
  50.  
  51. }
  52. else
  53. {
  54. if (username!=null && username!="")
  55. {
  56. setCookie('alkomatybiz','popup');
  57. }
  58. }
  59. }


BTW: ja ustawić tagi do wyświetlania JS w poście?

Dobra to może tak, tą funkcję mam umieszczoną w bloku <head></head>

function setCookie(c_name,value)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+3600*24);
document.cookie=c_name+ "=" +escape(value)+ ";" +exdate.toGMTString());
}

Tu mam wywołanie w sekcji body
<script type="text/javascript">
setCookie('mojecookie', wartosc);
</script>

Wie ktoś dlaczego to w ogóle nie tworzy ciastka ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.