Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125

    distinzione pagine in base al link di partenza

    allora. La cosa che chiedo e' un po lato server e un po client....spero di spiegarmi bene.

    In pratica (se ho analizzato bene il mio problema) vorrei sapere se la pagina avente <body onLoad="funzione()"> possa distinguere se arrivo dalla pagina x.php o y.php

    Infatti la funzione() dovrebbe avere comportamenti diversi in base alla pagina da cui provengo. E' possibile?

    Quello che voglio fare e' disabilitare un bottone o un altro al caricamento della pagina.

    La situazione che ho e' : ho N bottoni (una fila di coppie start - stop) . questi bottoni mandano alle rispettive pagine start.php e stop.php
    In partenza mi trovo con la fila stop disabilitata

    Quando clikko per esempio su start succede questo onClick="alter();location.href='startSession.php'; ";
    function alter()
    {
    document.getElementById("start").disabled=true;
    document.getElementById("stop").disabled=false;
    }

    questo andrebbe bene se rimanessi sulla stessa pagina. Il fatto e' che vado alla pagina start.php che a sua volta mi rimanda alla pagina dei bottoni (con gli header faccio questo passaggio di pagine in maniera che all'occhio sembri di rimanere nella stessa pagina).

    A questo punto start e' di nuovo abilitato mentre stop disabilitato.
    E' ovvio sia cosi perche ho ricaricato la pagina dei bottoni.

    Ora so che dovrei far accadere qualcosa sull'onLoad del body....per esempio,
    if vengo da pagina start.php allora onLoad disabilita start
    altrimenti -..--bla bla bla


    Spero mi possiate aiutare in qualche modo...perche io ormai mi sono completamente perso con sto js.



    ciao e grazie milllleee

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Per conoscere la pagina di provenienza, ti basta consultare la proprieta` referrer, che da JS si fa:
    document.referrer

    Quindi (esempio):
    if(document.referrer.inxedOf('start')<0) {
    alert("non provengo dalla pagina start");
    }
    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
    2,125
    spe spe spe....bella la cosa che dici....document.referrer.inxedOf('start')<0 ....ma start per te cos'e'?
    e' la pagina .php?

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    'start' è una sottostringa della pagina di partenza.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    perdona la mia ignoranza....ma non capisco...puoi essere piu chiaro?

    referrer si scrive cosi? con due r?

    comunque se metto quel pezzetto di codice mi da errore
    "document.referrer e' nullo o non e' un oggetto"

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    if(document.referrer.indexOf('start')<0) {
    alert("non provengo dalla pagina start");
    }
    il significato è:

    se dalla stringa dell'url della pagina da cui provengo (document.referrer) non esiste la sottostringa 'start' (.indexOf('start')<0) allora non stai provenendo dalla pagina startSession.php

    ovviamente il codice si basa sull'idea che la pagina iniziale contenga la sottostringa 'start' nel proprio url come nell'esempio che hai fatto tu.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    document referrer ritorna il path completo (indirizzo internet) della pagina da cui provieni.

    Quindi e` una stringa di questo tipo:
    www.miodominio.it/path1/path2/pagina.htm

    Se vuoi sapere da che pagina vieni, ti interessa solo la sottostringa "pagina" o addirittura un pezzo di tale sottostringa, che nell'esempio di prima ho chiamato 'start'.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    ok...piano piano capisco.

    Allora ho provato per vedere sta cosa a farmi alert(document.referrer) e mi dice da dove arrivo...perfetto.

    perche allora il codice che mi avete detto (il controllo con la sottostringa) da errore : "proprieta' o metodo non supportati dall'oggetto"


    io scrivo questo
    if(document.referrer.inxedOf("start")<0) {
    alert("non provengo dalla pagina start");
    }



    altra cosa...vedendo quello che mi diceva con il mio alert(document.referrer)
    ho scritto cosi
    if(document.referrer=="http://localhost/Copia_Terminal/web/admin2.php")
    {
    alert("controllo ok");
    }

    e funziona....

    il fatto e' che poi non sara' quello il percorso...non girera' in locale il tutto...

    cosa devo fare?

  9. #9
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    devi scrivere .indexOf non .inxedOf
    un semplice errore di battitura
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    grazie....scusa...sono troppo copy paste in questi giorni.

    ci sono quasi...solo che non becco la sottostringa.
    Se il mio location.href di prima mi manda qui

    location.href='startSession.php?parametriblablabla bla

    come la controllo questA?

    ho provato cosi ma e' sempre <0 il controllo

    if(document.referrer.indexOf("startSession")<0)
    {
    alert("non provengo dalla pagina start");
    }
    else

    alert("ok");

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.