Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    22

    Inclusioni ASP per far apparire URL corretto

    Sono assolutamente a digiuno di ASP, ma devo risolvere un problema che sembrerebbe abbastanza semplice.

    Ho una pagina che è strutturata con un layout statico e al centro un iframe.

    Il contenuto viene caricato (dai menù, dai link interni) nell'iframe.

    Ogni pagina caricata nell'iframe contiene questo javascript:

    codice:
    <script type="text/javascript">
    if(top.location == self.location)
    {
    top.location.href = 'www.nomesito.com/index.html?pagina_da_caricare_in_iframe.html'
    }
    </script>
    infatti, nell'index.html

    ho inserito quest'altro javascript:

    codice:
     function loadIF() {
     iFrameSrc=location.href.split('?');
     if ( iFrameSrc[1] != null ) {
     document.getElementById('id_iframe').src=iFrameSrc[1];
     }
     else {
     document.getElementById('id_iframe').src='paginadidefault.html'
     }
     }
    in poche parole...

    se un motore di ricerca trova la pagina "pippo.html", ma quella pagina è fatta per stare in un iframe, attraverso il primo javascript questa chiama la pagina index.html... ma la chiama nel modo www.nomesito.com/index.html?pippo.html

    index.html tramite il secondo javascript tiene conto di quel "?" seguito dall'html e carica "pippo.html" nell'iframe contenuto in index.html

    in questo modo i contenuti del sito vengono indicizzati, ma quando caricati da un client appaiono sempre e comunque nel loro layout.

    Ho un unico problema, che vorrei risolvere, sperando nel vostro aiuto.

    Vorrei fare in modo che la barra degli indirizzi del broswer riporti sempre e comunque la posizione precisa del documento caricato nell'iframe.

    Es. supponiamo che io apra il sito "www.nomesito.com"
    la mia pagina iniziale sarà index.html
    qualunque cosa prema per far cambiare contenuto all'iframe, nella barra degli indirizzi avrò sempre e comunque "www.nomesito.com/index.html"

    se dalla home page carico "pippo.html" nell'iframe... c'è modo di far visualizzare nella barra degli inidirizzo "www.nomesito.com/index.html?pippo.html" ? in modo tale se qualcuno vuole salvare un bookmark di quella particolare posizione può farlo?

    un altro esempio è se uno accede da un motore di ricerca tramite "pippo.html"... i due javascript fanno in modo da reindirizzare il client da www.nomesito.com/pippo.html a www.nomesito.com/index.html?pippo.html
    a quel punto il navigatore avrà durante tutta la sua navigazione "www.nomesito.com/index.html?pippo.html" sulla barra degli inidirizzi. In questo modo se salva un bookmark anziché finire nella home quando lo riapre, finirà sempre col riaprire pippo.html nell'iframe dell'index anziché la pagina di default

    spero di aver spiegato il problema

    so che potrebbe essere risolto sostituendo a tutte i link sul sito un riferimento completo del tipo index.html?nomepagina.html... ma a quel punto il contenuto di tutto il layout verrebbe ricaricato a ogni movimento, vanificando il proposito dell'iframe, che è quello di far caricare il layout 1 volta sola e modificare solo il contenuto dell'iframe, evitando refresh

    io vorrei proprio fare in modo che tutto rimanga come ora, sennonché ogni volta che carico contenuto in iframe, nella barra degli indirizzi compaia sintassi corretta per richiamare quella pagina nell'iframe dell'index.html... es. entro da pippo.html tramite motore di ricerca, la barra indirizzi mostra index.html?pippo.html, poi però mi sposto in topolino.html... vorrei che nella barra si veda index.html?topolino.html, senza però che si ricarichi anche l'index, ma solo il contenuto dell'iframe dove topolino.html viene caricato

    mi è stato suggerito di usare le inclusioni lato server... ma al di là di includere porzioni di codice statico, non so andare molto oltre...

    qui ho trovato un esempio in cui si parla di un problema simile al mio (con esempi in php), che però fatico a capire...
    http://www.htmlcodetutorial.com/help...-0-asc-30.html

    oltretutto è in php, il mio sito si trova su una macchina windows (aruba)

    potreste aiutarmi?

    grazie mille

  2. #2
    innanzitutto con asp centra (a mio avviso) poco...cmq


    vai su maps.google.it (per esempio) e prova a cercarti una location...se tu guardi la barra degli indirizzi, trovi che non cambia mai inquanto viene sempre tutto caricato nell'iframe (o quello che sia) centrale..per fare il link alla pagina google ha messo un link "link to this page" o qualcosa del genere che se ci clicchi ti mette nella barra degli indirizzi (probabilmente è un link normale e quindi c'è il refresh della pagina) il percorso completo.

    potresti usare anche tu questa tecnica, soprattutto perchè mi pare che in javascript non sia consentito il rewrite dell'url della pagina senza far ricarciare la pagina (ma non sono esperto, quindi ti rimando all'apposito forum sul javascript)

    detto questo...io tifo per la soluzione google-style


    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    22
    Originariamente inviato da Santino83_02
    innanzitutto con asp centra (a mio avviso) poco...cmq


    vai su maps.google.it (per esempio) e prova a cercarti una location...se tu guardi la barra degli indirizzi, trovi che non cambia mai inquanto viene sempre tutto caricato nell'iframe (o quello che sia) centrale..per fare il link alla pagina google ha messo un link "link to this page" o qualcosa del genere che se ci clicchi ti mette nella barra degli indirizzi (probabilmente è un link normale e quindi c'è il refresh della pagina) il percorso completo.

    potresti usare anche tu questa tecnica, soprattutto perchè mi pare che in javascript non sia consentito il rewrite dell'url della pagina senza far ricarciare la pagina (ma non sono esperto, quindi ti rimando all'apposito forum sul javascript)

    detto questo...io tifo per la soluzione google-style
    ciao

    certo, in javascript non si può modificare l'url, immaginati che problemi di sicurezza ci sarebbero... sapevo della soluzione google style, ma va bene per un sito come google, non credo si addica a un sito con contenuti ordinari, anche testuali... la gente che lo naviga secondo me non va a pensare "devo cliccare questo bottone per avere l'url precisa da mettermi nei bookmark" (cosa che è comunque antipatica, a me francamente ricorda quei bottoni tipo "aggiungimi ai bookmark", oppure "metti questa pagina come homepage" - che poi spesso manco funzionavano su tutti i browser)...

    ma altrimenti.... rifacendo il sito in asp o php... togliendo l'iframe e mettendoci un div e basta, usando le inclusioni... c'è un modo per sostituire contenuto a un dato div senza far ricaricare tutto? così com'è il sito è molto scorrevole, checché se ne dica dell'iframe... (google oltretutto mi ha indicizzato tutto per bene, quindi non ci sono problemi da quel punto di vista - e grazie a quei javascript di sopra, comunque un visitatore vi acceda, qualunque pagina caricherà sempre nel layout che ho imposto io)

    le inclusioni io le so usare solo a livello di inserire codice in una pagina che non si trova in quella pagina stessa... perciò non sapevo se il problema era risolvibile mediante un linguaggio dinamico

    ciao e grazie

  4. #4
    Allora,

    asp, lavorando lato server e non lato client, presuppone che la pagina sia ricaricata ogni volta che cambi qualcosa...quindi, non credo che faccia al caso tuo questa soluzione...


    un'altra sarebbe usare l'ajax per far ricaricare i div che ti interessano (per inciso, non puoi far ricaricare un div senza usare javascript), però secondo me è un lavoro inutile visto che nel tuo caso l'iframe (checche se ne dica, su alcune cose sono molto favorevole) va benissimo


    quanto al tuo problema, non vedo altro che usare il google style mettendo il link all'interno della pagina caricata nell'iframe...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    22
    Originariamente inviato da Santino83_02
    Allora,

    asp, lavorando lato server e non lato client, presuppone che la pagina sia ricaricata ogni volta che cambi qualcosa...quindi, non credo che faccia al caso tuo questa soluzione...


    un'altra sarebbe usare l'ajax per far ricaricare i div che ti interessano (per inciso, non puoi far ricaricare un div senza usare javascript), però secondo me è un lavoro inutile visto che nel tuo caso l'iframe (checche se ne dica, su alcune cose sono molto favorevole) va benissimo


    quanto al tuo problema, non vedo altro che usare il google style mettendo il link all'interno della pagina caricata nell'iframe...
    capisco

    in tal caso farò così mi sa

    in tal caso non ci sarebbe manco bisogno di ulteriori javascript, basterebbe mettere un <a href="....index.html?pagina.html"> in testa alla pagina caricata nell'iframe, fatto graficamente a modo...

    una soluzione più fine sarebbe quella che se uno ci clicca la pagina non ricarica, ma semplicemente cambia l'url nella barra indirizzi - credo che neanche questo non si possa fare però, sempre per questioni di sicurezza

    in alternativa avevo anche pensato a una funzione aggiungi ai bookmark in javascript fatta per ogni pagina, ma gli script di questo tipo funzionano bene solo su ie, tutte le soluzioni che dicono di funzionare con ff in realtà aggiungono l'url alla sidebar di firefox e non ai bookmark...

    In ogni caso la cosa servirà a poco, secondo me, se qualcuno proverà a mettere nei bookmark manualmente un po' di confusione ci sarà lo stesso...

    grazie mille

    ps - dimenticavo, ma parlando di sicurezza... ora vabbé il sito non contiene affatto dati importanti o di terzi, ma dal momento che c'è la possibilità di caricare delle pagine in un iframe tramite javascript... non è che questo rende possibile l'esecuzione di codice esterno?

    io per prova ho provato a digitare index.html?seguito da un html preso da un altro dominio... e apparentemente la cosa non funziona, perché il documento caricato nell'index deve stare allo stesso livello/dominio dell'index... però mi chiedevo...

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.