Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: verifica frame

  1. #1

    verifica frame

    Ciao a tutti, è possibile realizzare un controllo che verifica se viene aperta una pagina singola, normalmente contenuta all'interno di un FRAME, ricarica tutto aprendo correttamente il sito ed indirizzare automaticamente alla pagina richiesta????

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    if(top.location.href == document.location.href) ...

    Trovi il codice completo nelle raccolte di script o mediante una ricerca nel forum (e` gia` stato affrontato).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    non avendo trovato nulla, ho provsto così:
    if (top.location.href == document.location.href) {
    var page= location.href;
    location.href = "http://"+ location.hostname +"/sito.asp";
    parent.frame_main.location.href = page;
    }

    ma automaticamente non mi va alla pagina che vorrei, cioò a quelle linkata inizialmente

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    if (top.location.href == document.location.href) {
    var page= location.href;
    location.href = "http://"+ location.hostname +"/sito.asp";
    parent.frame_main.location.href = page;
    }

    Non si puo` fare cosi`.
    Quando ricarichi il frameset il contenuto dei frame viene perso, e si deve quindi passare come parametro la pagina da aprire dentro il frameset.

    Puoi anche vedere questo thread, ma il riferimento del link che avevo dato io non c'e` piu`.

    Quindi in ogni pagina (interna al frameset):
    if(top.location.href == document.location.href) {
    top.location.href="FRAMESET.htm?frame1=document.lo cation.href;
    }

    Nella pagina del frame1 di default, ci devi mettere uno script di questo tipo:
    codice:
    var dest = "";
    if(top.location.search){
      var src1 = top.location.search.substr(1);
      var src2 = src1.split("&");
      for(var i=0; i<src2.length; i++) {
        var src3 = src2[i].split("=");
        if(src3[0] == 'frame1') {
          dest = src3[1];
        }
      }
    }
    if(dest != "") {
      document.location.href = dest;
    }
    La costante frame1 puo` assumere il nome che preferisci (ma devi cambiarlo in tutti i punti).
    In linea di massima dovrebbe essere un nome simile al nome del tuo frame (ma non uguale).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Mi dice che la pagina non è disponibile:
    Infatti come indirizza restituisce:
    http://127.0.0.1/sito.asp?fr_main=do....location.href

    in ogni pagina ho inserito:
    // verifica frame
    if(top.location.href == document.location.href) {
    top.location.href="http://"+ location.hostname +"/sito.asp?fr_main=document.location.href";
    }


    mentre nella pagina di default del frame dove deve essere visualizzata la giusta pagina:
    // verifica frame
    var dest = "";
    if(top.location.search){
    var src1 = top.location.search.substr(1);
    var src2 = src1.split("&");
    for(var i=0; i<src2.length; i++) {
    var src3 = src2[i].split("=");
    if(src3[0] == 'fr_main') {
    dest = src3[1];
    }
    }
    }
    if(dest != "") {
    alert(dest);
    document.location.href = dest;
    }

  6. #6
    ho trovato l'errore:
    codice:
    // verifica frame 
    if(top.location.href == document.location.href) { 
    top.location.href="http://"+ location.hostname +"/sito.asp?fr_main="+document.location.href+""; 
    }
    anzichè:
    codice:
    // verifica frame 
    if(top.location.href == document.location.href) { 
    top.location.href="http://"+ location.hostname +"/sito.asp?fr_main=document.location.href"; 
    }

    Domanda:
    è possibile fare scomparire dalla barra indirizzo il risultato dell'operzione di reindirizzamento, che rischia di essere una cosa lunghissima?
    Nel mio caso è divantato tipo:
    http://127.0.0.1/sito.asp?fr_main=ht...cizi/index.asp

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Puoi mettere solo il nome della pagina, se il resto del path non cambia.
    Devi modificare le variabili di conseguenza.

    Per informazione vedi la struttura dell'oggetto location su qualsiasi reference (ad esempio 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

  8. #8
    ...ancora...
    se non faccio in modo che scompaia poi l'indirizzo della barra indirizzi, succede, che se non faccio questa modifica:
    codice:
    if(dest != "") && (dest != "main.asp") {
    anzichè:
    codice:
    if(dest != ""){
    quando poi voglio andare nella pagina di default mi rimbalza nella pagina indicata nella bar!

    Se non c'è nulla, oltre al cammino originale come :

    http://127.0.0.1/sito.asp

    funziona perfettamente senza la modifica!

    Ho guarda to su GURU ma non ho idea di cosa fare!

  9. #9
    Poi cmq con
    codice:
    if(dest != "") && (dest != "main.asp") {
    mi accorgo che non funziona nemmo bene!

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Un passo indietro. Forse non mi sono spiegato bene.

    Se questo link ti pare troppo lungo
    http://127.0.0.1/sito.asp?fr_main=ht...cizi/index.asp

    ti puo` bastare http://127.0.0.1/sito.asp?fr_main=/Esercizi/index.asp

    Per ricavare solo l'ultima parte dell'indirizzo, invece che leggere window.location.href puoi leggere window.location.pathname

    In tal caso la parte di script della pagina default non dovrebbe venir modificata (credo, ma fai delle prove).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.