Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-08-2013, 06:28   #1
cos1950
Senior Member
 
L'Avatar di cos1950
 
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6887
[Javascript] Parametrizzare <td width con variabili Javascript

<table><td width=1024>..... eccetera

invece di mettere un valore numerico per width, vorrei mettere una variabile da settare in base alla risoluzione
per esempio

definire la variabile dimX
<script type="javascript">

var dimX = screen.width >= 1152? (90*screen.width)/100 : (85*screen.width)/100;
</script>

per poi inserirla nel tag html

<table><tr><td width=dimX>..... eccetera

il punto critico è proprio questo... con quale sintassi si inserisce nel tag html?

ho trovato %dimX;& ma non funziona...
cos1950 è offline   Rispondi citando il messaggio o parte di esso
Old 22-08-2013, 08:10   #2
3vi
Senior Member
 
L'Avatar di 3vi
 
Iscritto dal: Sep 2005
Città: Vicenza
Messaggi: 3949
dovresti usare un approccio del genere:

http://jsfiddle.net/F3f3u/

o, sempre nello stesso modo, usando jquery
__________________
CASE Haf X MOBO Asrock Extreme4 CPU i5 2500K cooled By Thermalright Archon VGA Sapphire 6950 2GB RAM G.Skill Ripjaws-X F3 4GB 1333mhz PSU Enermax 500W modu 87+ HDD C300 64GB - f3 1TB - AAKS 500GB MONITOR Dell U2311H | Trattative completate
3vi è offline   Rispondi citando il messaggio o parte di esso
Old 22-08-2013, 09:13   #3
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
http://jsfiddle.net/JmD8h/1/

Nell'html ti basta inserire delle classi o degli id per poter facilmente scegliere quegli elementi con jQuery.

HTML:
Codice:
<table id="tab1">
    <tr>
        <td class="colonna">
            ...
        </td>
        <td>
            ...
        </td>
</tr>
</table>
JS:
Codice:
var dimX = screen.width >= 1152? (90*screen.width)/100 : (85*screen.width)/100;
$("#tab1").width(dimX);
$(".colonna").width(250);
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2013, 08:59   #4
cos1950
Senior Member
 
L'Avatar di cos1950
 
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6887
chiedo scusa... ho usato i suggerimenti datimi e solo in parte hanno funzionato... dal momento che sono veramente alle prime armi con javascript e jQuery e quindi...

il frammento di codice usato è

------------------------------------------------------------------

<style type=text/css>

<script type=text/javascript>

var dimX = screen.width >= 1024? (90*(screen.width))/100 : 1100;

$("#tab1").width(dimX);
$("#tab2").width(dimX);

</script>
</style>


</head>


<body background="img/sfondo.gif" bgcolor=green>

<table id="tab1" align="center" bgcolor="green" border="1">

<tr bgcolor="#990000">
<td width="23"></td>
<td align=center bgcolor="#990000" border=0><b><font size="5" color=yellow> Le Reazioni Inorganiche: Formazione di Sali Ternari da un metallo e un non-Metallo

</font></td>
<td width="23"></td>
</tr>
<tr bgcolor="#990000">
<td width="23"></td>
<td align=center bgcolor="#990000"><font color=white size=6> Formazione del sale ternario <font color=yellow>Clorito di Bario (<font color=white>Ba(ClO<sub>2</sub>)<sub>2</sub></font>)</font></font>.

</font></td>
<td width="23"></td>
</tr>
</table>

<table id="tab2" cellspacing=0 cellpadding=0 frame="box" align="center" border="3">
........................... eccetera

---------------------------------------------------------------------

la prima tabella, con id=tab1 non viene ridimensionata dal codice, ma si vede che le width sono unicamente determinati dal testo scritto dentro...
la seconda invece si...

perchè?
cos1950 è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2013, 09:55   #5
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
1- non mettere <style ...> e all'interno <script>, sono due cose diverse.
nell'head metti lo style
Codice:
<head>
...
<style>
...
</style>
</head>
<body>
...
<script>
...
</script>
</body>
2- a me sembra funzioni correttamente, ho solo impostato dim a 250 perchè la finestrella è piccola e altrimenti non si sarebbe visto ma comunque non cambia il senso: http://jsfiddle.net/jh2cB/
magari posta anche l'html della seconda tabella o se hai altri script, css o quant'altro.
con il solo codice che hai postato funziona.

3- per favore metti il codice nel suo bbcode [ code] cosi si legge più facilmente
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2013, 10:24   #6
cos1950
Senior Member
 
L'Avatar di cos1950
 
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6887
Codice:
<body  background="img/sfondo.gif" bgcolor=green>




<script type=text/javascript>

  var dimX = screen.width >= 1024? (90*(screen.width))/100 : 1100;

  
  
  $("#tab1").width(dimX);
  $("#tab2").width(dimX);
</script>


<table   id="tab1" align="center" bgcolor="green" border="1">
 
<tr bgcolor="#990000">
      <td width="23"></td>
      <td align=center bgcolor="#990000" border=0><b><font size="5" color=yellow> Le Reazioni Inorganiche: Formazione di Sali Ternari da un metallo e un non-Metallo
                                    
      </font></td>
      <td width="23"></td>
    </tr>
<tr bgcolor="#990000">
      <td width="23"></td>
      <td align=center bgcolor="#990000"><font color=white size=6> Formazione del sale ternario <font color=yellow>Clorito di Bario (<font color=white>Ba(ClO<sub>2</sub>)<sub>2</sub></font>)</font></font>.
                                                                       
      </font></td>
      <td width="23"></td>
    </tr>
</table>
questo il frammento di codice modificato...

la seconda tabella, qui non ho riportato il codice, va bene... è la id=tab1 che continua a non essere influenzata dallo script...

Ho innestato lo script e il foglio di stile perchè c'era una parte del css che doveva essere controllato con un if a seconda del tipo di browser, cioè così...

Codice:
................................................
<style type=text/css>

 <script type=text/javascript>

    
    
    body
    {
      margin: 10px 0px 0px 0px;
    }

    #FOOTER
    {
      position: fixed;
      bottom: 0px;
      width: 100%;
      text-align: center;
      background-color: #ffffff;
      border-top: 1px solid #000000;
    }

  if (navigator.appName =="Microsoft Internet Explorer")
  {
    html #FOOTER
    {
        position: absolute;
        top: expression((0-(FOOTER.offsetHeight)+(document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight)+(ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop))+'px');
    }
  }

  </script>
</style>


</head>
può dare effetti indesiderati?
cos1950 è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2013, 10:51   #7
cos1950
Senior Member
 
L'Avatar di cos1950
 
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6887
questo un esempio completo...

Codice:
<!DOCTYPE  HTML PUBLIC  "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">

<html>

<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

<script type=text/javascript>

  var dimX = screen.width >= 1024? (90*(screen.width))/100 : 1100;
  
  $(".tab").width(dimX);


  function VisualizzaFile(nomefile, format) 
  {
     
     finestra = window.open (nomefile,'pag',format);
     finestra.resizeTo(650, 730);  
     finestra.focus();
  }


</script>

</head>

<body  background="img/sfondo.gif" bgcolor=green>




<table   class="tab" align="center" bgcolor="green" border="1">
 
<tr bgcolor="#990000">
      <td width="23"></td>
      <td align=center bgcolor="#990000" border=0><b><font size="5" color=yellow> Le Reazioni Inorganiche: Formazione di Sali Ternari da un metallo e un non-Metallo
                                    
      </font></td>
      <td width="23"></td>
    </tr>
<tr bgcolor="#990000">
      <td width="23"></td>
      <td align=center bgcolor="#990000"><font color=white size=6> Formazione del sale ternario <font color=yellow>Clorito di Bario (<font color=white>Ba(ClO<sub>2</sub>)<sub>2</sub></font>)</font></font>.
                                                                       
      </font></td>
      <td width="23"></td>
    </tr>
</table>

<table class="tab" cellspacing=0 cellpadding=0  frame="box" align="center" border="3">
<tbody>

<tr>
 <td width="2"></td>

<td colspan=5>
      <br>
     <p> </font><dir><font color="black" size=5> Si vogliano 
     scrivere e bilanciare le reazioni necessarie per ottenere un sale 
    ternario, partendo da un metallo e da un non-metallo.
    <br>  Ammettiamo che il non-metallo sia <font color="brown"><b>Cloro cloroso (Cl<sup>+3</sup>)</b></font> e il metallo sia <b><font color="brown">Bario (Ba<sup>+2</sup>)</font></b>.</p>
</td><td width=2></td>
</tr>

<tr><td colspan=7><hr color=green size=3></td></tr>

  <tr>
    <td width="2"></td>
     <td>
  
    <dir><font color="black" size=5> <br><p>L'esercizio va svolto facendo riferimento allo 
                    <p align=center><font size=6><a href="javascript:VisualizzaIMG('img/compound.gif', 'left=450, top=475, width=580, height=400')"> schema generale delle reazioni</a></font></p> 
  che conducono alla formazione del sale ternario, partendo da metallo e non metallo;<br><br>

<ul>
<li>il metallo dà, per reazione con Ossigeno, l'ossido: nel caso in esame
    <font color=brown>Ossido di Bario</font>;<br> 
<li>l'ossido di Bario ottenuto vien fatto reagire con acqua, ottenendosi l'<font color=brown>Idrossido di Bario</font>;
<li>analogamente il non metallo dà, per reazione con Ossigeno, l'anidride;<br>nel caso in esame
    <font color=brown>Anidride Clorosa</font>;
<li>l'Anidride Clorosa ottenuta forma, fatta reagire con acqua, l'<font color=brown>Acido Cloroso</font>; 
<li>infine il sale, vale a dire il <font color=brown>Clorito di Bario</font> si sintetizza per reazione diretta tra idrossido e ossiacido.
</ul>

 <td width="2"></td>
</tr></table>

</body>
</html>
ho creato una classe (credo ) di tabelle "tab" che applico alle 2 tabelle dell'esempio

confermo che la prima tabella non è influenzata dal codice
cos1950 è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2013, 12:53   #8
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
Ti mancava la libreria jQuery.
Inoltre non usare screen.width ma window.width, perchè screen è l'intero schermo, window è invece la finestra del browser.

Gli script di questo tipo che vanno a interagire con il DOM salvo casi particolari si mettono generalmente alla fine prima della chiusura del body.

Codice PHP:
<!DOCTYPE  HTML PUBLIC  "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd"
>

<
html>

<
head>
<
meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

</
head>

<
body  background="img/sfondo.gif" bgcolor=green>




<
table   class="tab" align="center" bgcolor="green" border="1">

<
tr bgcolor="#990000">
      <
td width="23"></td>
      <
td align=center bgcolor="#990000" border=0><b><font size="5" color=yellowLe Reazioni InorganicheFormazione di Sali Ternari da un metallo e un non-Metallo

      
</font></td>
      <
td width="23"></td>
    </
tr>
<
tr bgcolor="#990000">
      <
td width="23"></td>
      <
td align=center bgcolor="#990000"><font color=white size=6Formazione del sale ternario <font color=yellow>Clorito di Bario (<font color=white>Ba(ClO<sub>2</sub>)<sub>2</sub></font>)</font></font>.

      </
font></td>
      <
td width="23"></td>
    </
tr>
</
table>

<
table class="tab" cellspacing=0 cellpadding=0  frame="box" align="center" border="3">
<
tbody>

<
tr>
 <
td width="2"></td>

<
td colspan=5>
      <
br>
     <
p> </font><dir><font color="black" size=5Si vogliano
     scrivere e bilanciare le reazioni necessarie per ottenere un sale
    ternario
partendo da un metallo e da un non-metallo.
    <
br>  Ammettiamo che il non-metallo sia <font color="brown"><b>Cloro cloroso (Cl<sup>+3</sup>)</b></fonte il metallo sia <b><font color="brown">Bario (Ba<sup>+2</sup>)</font></b>.</p>
</
td><td width=2></td>
</
tr>

<
tr><td colspan=7><hr color=green size=3></td></tr>

  <
tr>
    <
td width="2"></td>
     <
td>

    <
dir><font color="black" size=5> <br><p>L'esercizio va svolto facendo riferimento allo
                    <p align=center><font size=6><a href="javascript:VisualizzaIMG('
img/compound.gif', 'left=450top=475width=580height=400')"> schema generale delle reazioni</a></font></p>
  che conducono alla formazione del sale ternario, partendo da metallo e non metallo;<br><br>

<ul>
<li>il metallo dà, per reazione con Ossigeno, l'
ossidonel caso in esame
    
<font color=brown>Ossido di Bario</font>;<br>
<
li>l'ossido di Bario ottenuto vien fatto reagire con acqua, ottenendosi l'<font color=brown>Idrossido di Bario</font>;
<
li>analogamente il non metallo dàper reazione con Ossigenol'anidride;<br>nel caso in esame
    <font color=brown>Anidride Clorosa</font>;
<li>l'
Anidride Clorosa ottenuta formafatta reagire con acqual'<font color=brown>Acido Cloroso</font>;
<li>infine il sale, vale a dire il <font color=brown>Clorito di Bario</font> si sintetizza per reazione diretta tra idrossido e ossiacido.
</ul>

 <td width="2"></td>
</tr></table>
<script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script>
<script type=text/javascript>

  var dimX = window.width >= 1024? (90*(window.width))/100 : 1100;

  $(".tab").width(dimX);


  function VisualizzaFile(nomefile, format)
  {

     finestra = window.open (nomefile,'
pag',format);
     finestra.resizeTo(650, 730);
     finestra.focus();
  }


</script>
</body>
</html> 
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 10:47   #9
cos1950
Senior Member
 
L'Avatar di cos1950
 
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6887
Errore...
__________________
Visitate il mio sito

http://qui.nonsolochimica.com/index.htm

Ultima modifica di cos1950 : 28-08-2013 alle 10:52. Motivo: errore
cos1950 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 10:49   #10
cos1950
Senior Member
 
L'Avatar di cos1950
 
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6887
Codice:
<script type="text/javascript">
<!---

   function createCookie(name,value) {  
    document.cookie = name+"="+value;  
   }  


   function readCookie(name) {  
       var nameEQ = name + "=";  
       var ca = document.cookie.split(';');  
       for(var i=0;i < ca.length;i++) {  
          var c = ca[i];  
          while (c.charAt(0)==' ') c = c.substring(1,c.length);  
          if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);  
   }  
   return null;  
}  


loads()
{
    var StopPopup="nopopup";

    if ( readCookie(StopPopUp) == null ) 
    {  
       window.open('alert.htm', 'pag', 'left=100, top=120, width=600, height=500, resizable=0, scrollbars=0');
       createCookie(StopPopUp,"ok"); 
    }  
}

loads();
  //-->
</script>
Ho inserito in fondo al documento questo script... ma non accade niente

non sono in grado di capire che c'è che non va... chiamata alla funzione loads() parte quando il browser arriva al fondo del documento?

In pratica, se ho capito la dinamica, dovrebbe essere memorizzato un cookie chiamato

elenco cookies
..........
.........
nopopup=ok;
........

alla lettura viene trovata la stringa "nopopup=" che, se presente, indica che la pagina è stata già visualizzata... oppure non c'è ed è la prima visualizzazione...
__________________
Visitate il mio sito

http://qui.nonsolochimica.com/index.htm
cos1950 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 11:02   #11
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
Non capisco cosa sia la funzione load().

Per fare quel che chiedi basta questo, ti ho commentato il codice:

Codice HTML:
<body>

    ...contenuto...

    <script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    var dimX = window.width >= 1024 ? (90 * (window.width)) / 100 : 1100;
    $(".tab").width(dimX);

    // dichiari la funzione che crea il cookie, a cui passi due valori: il nome del cookie e il valore che gli vuoi assegnare. NB: la stai solo dichiarando non viene eseguita ancora. 

    function createCookie(name, value) {
        document.cookie = name + "=" + value;
    }

    // idem come prima stai dichiarando la funzione che legge, o meglio verifica se c'è un cookie. 
    // se non c'è cookie ritorna il valore null, se c'è il cookie ritorna il valore 'value' che avevi passato prima 
    // in realtà basterebbe una funzione più corta perchè noi non abbiamo impostato altri parametri (data ed expire) però per comodità teniamo questa e ci risparmiamo il tempo. 

    function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
        }
        return null;
    }

    // se il cookie non esiste la funzione readcookie ritorna 'null' quindi fai vedere il popup e imposti il cookie 
    // se il cookie esiste esce non fa nulla, niente popup e niente creazione del cookie (che esiste già). 

    if (readCookie(StopPopUp) == null) {
        // fai vedere il popup e impostalo
        window.open('alert.htm', 'pag', 'left=100, top=120, width=600, height=500, resizable=0, scrollbars=0');
        // impostiamo il cookie così la prossima volta non lo fa più vedere. 
        createCookie(StopPopUp, true);
    }
    </script>
</body>

</html>
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 14:06   #12
cos1950
Senior Member
 
L'Avatar di cos1950
 
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6887
Con questo codice:

Codice:

   <script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    var dimX = window.width >= 1024 ? (90 * (window.width)) / 100 : 1100;
    $(".tab").width(dimX);

    // dichiari la funzione che crea il cookie, a cui passi due valori: il nome del cookie e il valore che gli vuoi assegnare. NB: la stai solo dichiarando non viene eseguita ancora. 

    function createCookie(name, value) {
        document.cookie = name + "=" + value;
        
        document.write("<b><font size=10> Valore scritto: " + document.cookie +"</font>");
    }

    // idem come prima stai dichiarando la funzione che legge, o meglio verifica se c'è un cookie. 
    // se non c'è cookie ritorna il valore null, se c'è il cookie ritorna il valore 'value' che avevi passato prima 
    // in realtà basterebbe una funzione più corta perchè noi non abbiamo impostato altri parametri (data ed expire) però per comodità teniamo questa e ci risparmiamo il tempo. 

    function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie;
        document.write("<b><font size=10> Valore letto: " + ca +"</font>");
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
        }
        return null;
    }

    // se il cookie non esiste la funzione readcookie ritorna 'null' quindi fai vedere il popup e imposti il cookie 
    // se il cookie esiste esce non fa nulla, niente popup e niente creazione del cookie (che esiste già). 

    var miocookie = "StopPopUp";
    var miovalue = "true";

    if (readCookie(miocookie) == null) {
        // fai vedere il popup e impostalo
        f=window.open('alert.htm', 'pag', 'left=100, top=120, width=800, height=500, resizable=0, scrollbars=0');
        // impostiamo il cookie così la prossima volta non lo fa più vedere. 
        createCookie(miocookie, miovalue);
        f.focus();
    }
    </script>
</body></html>
trova sempre un valore letto null
ma il valore scritto è corretto... cioè "StopPopUp=true"

gli faccio scrivere nel documento i valori per controllare, appunto...
e quindi entra sempre nell'if e visualizza il popUp
Sembrerebbe non trovi il cookie alla lettura... Perchè?
__________________
Visitate il mio sito

http://qui.nonsolochimica.com/index.htm
cos1950 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 14:43   #13
cos1950
Senior Member
 
L'Avatar di cos1950
 
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6887
Domanda

quand'è che cancella il cookie? Non è che se non c'è una data di expire, lo cancella appena esce dalla pagina?
__________________
Visitate il mio sito

http://qui.nonsolochimica.com/index.htm
cos1950 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 17:24   #14
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
nel trovare il tuo errore ho visto dove ho sbagliato io, perdonami ma sto facendo mille cose in sti giorni e sono parecchio sbadato complice il fatto che non sto mai testando il codice (non l'ho testato nemmeno stavolta )

Codice:
    var miocookie = "StopPopUp";
Va bene perchè il nome del cookie deve essere una string.
Codice:
    var miovalue = "true";
Non va bene perchè "true" è la string, mentre noi vogliamo la condizione booleana true.

Codice:
    var miocookie = "StopPopUp";
    var miovalue = true;

if (readCookie(miocookie) == null) {
        f=window.open('alert.htm', 'pag', 'left=100, top=120, width=800, height=500, resizable=0, scrollbars=0');
        createCookie(miocookie, miovalue);
        f.focus();
    }
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 23:16   #15
cos1950
Senior Member
 
L'Avatar di cos1950
 
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6887
Trovata una variante delle funzioni createcookie() >>> setcookie() e readcookie() >>> getcookie()

quello che fanno le funzioni è più comprensibile... ma il popUp esce sempre e non viene disabilitato... pare che alla lettura non ci sia mai un cookie

è evidente dalla riga indicata dalla freccia, nel codice allegato... quel document.write nin viene mai eseguito:

Codice:

   <script src="http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">
    var dimX = window.width >= 1024 ? (90 * (window.width)) / 100 : 1100;
    $(".tab").width(dimX);

    // dichiari la funzione che crea il cookie, a cui passi due valori: il nome del cookie e il valore che gli vuoi assegnare. NB: la stai solo dichiarando non viene eseguita ancora. 

    function setCookie(name, value) {
        
        var  n = name+"="+escape(value);
        document.cookie = n;
        
        document.write("<b><font size=10> Valore scritto: " + n +"</font>");
    }

    // idem come prima stai dichiarando la funzione che legge, o meglio verifica se c'è un cookie. 
    // se non c'è cookie ritorna il valore null, se c'è il cookie ritorna il valore 'value' che avevi passato prima 
    // in realtà basterebbe una funzione più corta perchè noi non abbiamo impostato altri parametri (data ed expire) però per comodità teniamo questa e ci risparmiamo il tempo. 

    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;
            document.write(document.cookie.substring(i, j)+"<br>");   <--=======--<<<<   Questa non viene mai stampata...

            if (document.cookie.substring(i, j) == arg) return 1;
        }
        return null;
    }

    // se il cookie non esiste la funzione readcookie ritorna 'null' quindi fai vedere il popup e imposti il cookie 
    // se il cookie esiste esce non fa nulla, niente popup e niente creazione del cookie (che esiste già). 

    var miocookie = "StopPopUp";
    var miovalue = true;

    if (getCookie(miocookie) == null) {
        // fai vedere il popup e impostalo
        f=window.open('alert.htm', 'pag', 'left=100, top=120, width=800, height=500, resizable=0, scrollbars=0');
        // impostiamo il cookie così la prossima volta non lo fa più vedere. 
        setCookie(miocookie, miovalue);
        f.focus();
    }
    </script>
</body></html>
__________________
Visitate il mio sito

http://qui.nonsolochimica.com/index.htm
cos1950 è offline   Rispondi citando il messaggio o parte di esso
Old 28-08-2013, 23:49   #16
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
Domani mattina te lo sistemo per bene con una demo così testo se funziona e la facciamo finita

Non continuare a cambiare però.

Ci sarà solo da modificare l if e basta il resto è tutto giusto sono abbastanza certo
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 29-08-2013, 09:24   #17
cos1950
Senior Member
 
L'Avatar di cos1950
 
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6887
Adesso funziona... nel while mancava l'incremento i++; del contatore

puoi verificare all'indirizzo in firma

grazie
__________________
Visitate il mio sito

http://qui.nonsolochimica.com/index.htm

Ultima modifica di cos1950 : 29-08-2013 alle 12:57.
cos1950 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Europei sempre più diffidenti ver...
L'acquisto di Steam Machine è un ...
Lenovo Prime Day: i 6 migliori sconti (a...
CATL non riesce a superare la fase proto...
Mythos, il caso si complica: causa contr...
Il pazzesco nuovo record di Xiaomi YU7 G...
OneXPlayer 3: un PC gaming in formato Ni...
Climate.us riporta online i 15 anni di C...
Hisense da 58 pollici sotto i 300€ fa tr...
Windows 11 26H2: cosa cambia e chi resta...
SpaceX ha lanciato la sua prima capsula ...
Il prezzo medio di vendita degli smartph...
Prime Day robot tagliaerba: MAMMOTION, D...
Recensione Google Home Speaker: Gemini s...
Monitor OLED in grande spolvero per il P...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v