Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    9

    stessa finestra, nuova URL: dove sbaglio?

    Premetto che sto provando su Safari sotto OS X 10.3 e ancora non so come si comporti IE di Windows...

    Il problema è che voglio che il mio jscript in esecuzione carichi una nuova pagina (il cui indirizzo è contenuto nella variabile <url>) nell'attuale finestra, ma non ci riesco!

    Il codice che uso è banalmente:

    location.href=url;
    oppure
    location.href(url);

    ma sembra non avere effetto alcuno. Anche se ci metto prima <self.> non cambia nulla.

    Se invece uso una window.open() come:

    window.open(url, 'nome', opt);

    allora funziona. Non capisco dove sbaglio. Segnalo che la mia pagina attuale è all'interno di un frameset, non so se il mio problema possa dipendere da questo.
    I love my Mac

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La sintassi corretta (che funziona in TUTTI i browser) e`:
    window.location.href=url;

    L'altra sintassi funziona solo in IE.
    La sintassi senza "window." funziona in IE e forse in qualche altro browser.

    Se vuoi sganciarti da IE, devi usare sintassi corrette: verificale sempre in un manuale:
    http://www.w3schools.com/htmldom/dom_reference.asp
    http://www.devguru.com/technologies/...ipt_index.html
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    9
    ...che strano, anche la soluzione da te suggerita non mi funziona!
    Tuttavia ho trovato in intenet questa funzione JS che qui di seguito riporto:

    function MM_goToURL() { //v3.0
    var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
    for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
    }

    io chiamo la funzione così: MM_goToURL('self', url);

    Essendo alle prime armi con JS, cosa faccia la funzione di preciso non mi è chiarissimo, però mi funziona.

    ( PS: per inciso, la cosa forte è che su un paio di (credevo..) autorevoli guide su JS che ho a dispozisione, non si parla di usare 'window." prima di "location.href" per sicurezza di compatibilità con tutti i browsers. Per quanto sopra da te detto, complimenti agli autori... )
    I love my Mac

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Sembra che stai un po' indietro con le guide.
    Se vuoi che le tue pagine durino un paio di anni, devi cambiare completamente modo di programmare.

    Anche la MacroMedia (cui hai rubato quel codice), credo non lo usi piu` perche` non piu` compatibile con i nuovi browser.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    9
    hem...scusami, quello che dici sarà giusto, ma il dato di fatto, che mi meraviglia, è che il tuo 'giusto' modo di programmare su Safari in OS X 10.3 (quindi tutto dell'ultima generazione) non mi funziona, mentre quel codice Macromedia di cui parli male perché "incompatibile coi nuovi browser" invece funziona benissimo...occhio che non ti sto criticando anzi grazie dell'aiuto...vorrei solo capire qualcosa di più sul perché di tutto questo...
    I love my Mac

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non conosco Safari, per cui non so quali siano eventuali bachi.

    Dato che self sembra accettarlo, e che self e` sinonimo di window (in tutti i browser che conosco), prova con:

    self.location.href = ...;


    PS in quella funzione di MM il problema piu` grosso e` la funzione eval(), che e` deprecata e non funzionante in qualche browser recente.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    9
    Dunque ho provato proprio ora e ti informo che infatti utilizzando:

    self.location.href = ...;

    come da te suggerito, funziona. Non capisco perché invece con:

    window.location.href = ...;

    invece no...cose strane. Ma sono ancora un novellino con JavaScript...
    I love my Mac

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.