Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    Aiuto su una funzione per compatibilità con FF

    Ciao,
    ho scritto del codice che va senza patemi su ie ma si blocca su ff, in un caso particolare, cioè se la variabile "base" assume il valore NaN.
    E si blocca dopo aver fatto l'alert che stampa "qs", cioè praticamente nn esegue l'ultima istruzione document.location.

    La cosa interessante è che con "base=0" si finisce nello stesso else ma il tutto funziona.

    Ignoro qlkosa nel funzionamento di ff.. ma cosa?

    codice:
    function updatepage(str){
        if( str.search(/ok/gi)!=-1 ){
          var base = parseInt(JSRequest("base"));
          alert(base);
          if ( !isNaN(base) & (base > 0) ){
            alert('1');
            base--;
            var qs = "?base="+base;
          }
          else{
            alert('2');
            var qs = "";
          }
          alert(qs);
          document.location = "messaggi.php"+qs;
        }
        else{
          document.getElementById("content").innerHTML = str;
        }

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837

    Re: Aiuto su una funzione per compatibilità con FF

    prova con
    codice:
    function updatepage(str){
        if (str.search(/ok/gi)!=-1) {
          var base = parseInt(JSRequest("base"));
          alert(base);
          var qs = "";
          if ( !isNaN(base) && (base > 0) ){
            alert('1');
            base--;
            qs = "?base="+base;
          }
          alert(qs);
          self.location.href = "messaggi.php"+qs;
        } else{
          document.getElementById("content").innerHTML = str;
        }
    }

  3. #3

  4. #4

  5. #5

  6. #6
    a dire la verità ho provato il tuo codice e mi funziona con firefox1.5....
    ho provato base=NaN;base= new Object; base=undefined; base =0; base=2 e ha sempre fatto quello che c'è scritto nel codice.....magari tu volevi fare qualcos'altro...
    cmq per compatibilità usa window.location.href oppure location.href

  7. #7
    Ho trovato il modo di farlo funzionare...

    codice:
          var qs = "?base=0";
          if ( !isNaN(base) && (base > 0) ){
            base--;
            qs = "?base="+base;
          }
    Sostanzialmente bisogna settare qs="?base=0" altrimenti FF si rifiuta di fare il redirect.. non chiedetemi il perchè.. ho smesso di tentare di capire..


  8. #8
    sicuro che è colpa di firefox? :rollo:

  9. #9
    Chi lo sa di chi è la colpa... cmq nn vedo perchè nn dovrebbe fare il redirect senza la query string.. nn penso che sia sempre necessaria per fare un redirect..

  10. #10
    se ho capito bene,tu vuoi che quando base è un numero maggiore di zero(mettiamo ad esempio 3), la query string risulti "?base=3" , e quando base è uguale a zero oppure non è un numero, la query string risulti "?base=0" ,giusto?
    beh,il primo script che hai postato aveva un errore logico, perchè gestiva correttamente il caso base>0, ma non gestiva il caso base=0, infatti in questo caso risultava qs="", quando sarebbe dovuto essere qs="?base=0" .Non vedo colpe da dare a firefox....

    Spero di essermi spiegato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.