Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [ajax]Problema con Ajax.PeriodicalUpdater e IE

    Ciao a tutti, ho un problema con questa funzione di prototype e Internet Explorer (6 e 7)

    La funzione sostanzialmente non funziona su IE, mentre invece non dà nessun problema su Firefox e Safari.

    Questo il sorgente javascript
    codice:
    function addListener(element, baseName, handler) {
        if (element.addEventListener)
            element.addEventListener(baseName, handler, false);
        else if (element.attachEvent)
            element.attachEvent('on' + baseName, handler);
    } // addListener
    
    function mostra_step(idRicetta){
    	new Ajax.PeriodicalUpdater('passaggi', 'include/step.php?idRicetta='+ idRicetta,
      	{
        	method: 'post',
        	frequency: 1,
        	decay: 2
      	});
    }
    Mentre questo è il codice del file principale
    Codice PHP:
    <?
    $idRicetta
    =$_GET['idRicetta'];
    echo
    "<script type=\"text/javascript\">
        addListener('passaggi', 'load', mostra_step("
    .$idRicetta."));
    </script>"
    ;
    ?>

    <span id="passaggi">
    </span>
    Su Firefox il codice funziona correttamente, visualizzando all'interno dello span "passaggi" il contenuto del file step.php, aggiornandolo continuamente.
    In internet explorer invece non viene visualizzato nulla.

    Qualcuno ha avuto un problema simile o ha qualche idea?

    Grazie

  2. #2

  3. #3
    visto che usi prototype togli la funzione addListener e prova così:

    Codice PHP:
    <?
    $idRicetta
    =$_GET['idRicetta'];
    echo
    "<script type=\"text/javascript\">
        Event.observe('passaggi', 'load', mostra_step("
    .$idRicetta."));
    </script>"
    ;
    ?>

  4. #4
    Ci avevo già provato, con firefox funziona ma alla prima chiamata con firebug mostra questo errore nella libreria di prototype (ho provato diverse versioni, sia stable che RC):

    codice:
    element has no properties
    _observeAndCache(null, "load", undefined, false)prototype.js (line 3003)
    observe(null, "load", undefined, false)prototype.js (line 3029)
    [Break on this error] if (element.addEventListener) {
    con IE invece dà un errore javascript ma non funziona.

    non sò più cosa provare

  5. #5
    me toccherebbe provallo, stasera ci provo, mi sembra strano.
    che versione usi di prototype??
    fai una prova stupida, ma non si sa mai: usa il charset utf8 nel tag meta invece di ISO-8859-1

  6. #6
    Originariamente inviato da buribus
    me toccherebbe provallo, stasera ci provo, mi sembra strano.
    che versione usi di prototype??
    fai una prova stupida, ma non si sa mai: usa il charset utf8 nel tag meta invece di ISO-8859-1
    il charset è già settato come utf-8.
    Prototype ho fatto le prove sia con 1.5.1.1 (quella stable) che con la 1.6.0RC1.

    L'unico problema che avevo letto con IE era che cachava le richieste GET, difatti ho messo la richiesta in POST per ovviare il problema. Di altri malfunzionamenti non ne ho trovati segnalati in rete

  7. #7

  8. #8
    in che ordine includi i file javascript nel tag head??
    per primo metti prototype.js, poi gli altri tuoi script.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.