Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    13

    elaborare una pagina con un javascript dopo che si è caricata

    Ciao,

    La mia idea sarebbe quella di realizzare uno script *lato client* che sia in grado di modificare la pagna html una volta scaricata dal browser, senza che sia stata preparata prima. Mi spiego:

    una volta caricata una pagina html (ma prima di visualizzala all'utente!), la funzione dovrebbe analizzare il testo e i tag html al suo interno e modificarli sostituendone alcuni con altri (ad esempio sostituendo <p align="center"> con <p align="left"> o aggiungere e togliere link) per poi restituire la pagina così modificata all'utente.
    Si tratta di pagine html per cui non dinamiche (niente elaborazione lato server e non posso nemmeno usare un redirect tipo elabora.asp?p=pagina.html). Sembra che javascript sia la soluzione più adatta...

    Insomma, dovrei poter solo inserire un richiamo allo script all'interno di ciascuna pagina:
    <script src="elabora.js" type="text/javascript" Language="JavaScript"></script>

    al limite passadogli dei parametri e lo script dovrebbe fare il tutto.

    Si può fare? Qualche idea, esempio su cui lavorare?

    ciao e grazie!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Tecnicamente si puo` fare.
    La pagina puo` essere creata con un
    document.write(...)
    e/o con una serie di
    document.getElementById('ID_OGGETTO').innerHTML = ...;

    Pero` ci sono grosse controindicazioni:
    1. la pagina non e` accessibile (va contro tutte le norme di accessibilta`);
    2. se il browser non ha JS abilitato e funzionante, l'utente non vede nulla;
    3. carica di piu` la linea (devi scaricare piu` info);
    4. carica il client in modo notevole (potrebbe risultare molto lento);
    5. carica di piu` il server (generare la pagina in JS e` piu` complesso che fornire la paginain HTML).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    oppure un'altra via è

    1) generare il documento in cui si imposta il body con style "display: none"
    2) all'evento onload del body effettuare tutte le modifiche
    3) al termine delle modifiche assegnare style "display: block" al body

    per le controindicazioni valgono le considerazioni esposte da Mich_ sul javascript

    Ciao
    Vuoi aiutare la riforestazione responsabile?

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

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    13
    Ciao

    grazie per le risposte. Il fatto è che ho un grande numero di pagine html e il discorso dello script da aggiungere era proprio una soluzione per non doverle "riscrivere" da capo tutte. Sarebbe bello poter realizzare qualcosa che elabora la pagina mentre è in download oppure anche lato server, ma ogni volta che l'utente carica la pagina.

    Se chiamo una pagina html, anche lato server non ci sono molte possibilità di elaborarla prima di visualizzarla all'utente. A me basterebbe questo perché l'elaborazione è dinamica, può cambiare ogni volta...

    grazie per le vostre osservazioni!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ma tu conosci i CSS? Perche` negli esempi che hai portato potrebbero risolvere.

    La soluzione corretta e` una elaborazione lato server: elaborazioni lato client sono da limitare al massimo.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2000
    Messaggi
    13
    ciao,

    si conosco i css anche se non sono un vero e proprio web-designer. Aiutano certo in molte cose ma non mi sembra che questo sia il caso. Altrimenti, cosa potrei fare?

    L'elaborazione lato server è la prima cosa che ho pensato (anche perché io lavoro spesso con asp e vbscript ) ma il problema rimane sempre lo stesso: come fare per elaborare una pagina html quando la chiama il browser?

    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Devo rispondere francamente?
    Da quanto scrivi mi pare che tu non abbia capito cosa e` un programma lato server (ad esempio ASP).

    Se passi un parametro al programma ASP, il programma puo` elaborare la pagina in modo che si adegui al parametro.
    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
    Nov 2000
    Messaggi
    13
    Ciao

    grazie della tua franchezza :-)

    > Se passi un parametro al programma ASP, il programma puo` elaborare
    > la pagina in modo che si adegui al parametro.

    si questo lo so bene ;-) Il problema è, come ho specificato nel mio primo messaggio, che se l'utente chiama una pagina html col suo browser, non conosco un modo di passarla prima ad una pagina (o a un programma) asp che la elabori e la modifichi, se non quello di fornire un classico link redirect tipo: elabora.asp?p=pagina.html

    Questo lo devo evitare perché il succo di tutto è che le pagine sono come sono e devono rimanere così e non voglio cambiare il modo di linkare e/o caricare le pagine, vorrei solo che ci fosse un'elaborazione, che rende dinamica una pagina html, del tutto trasparente.

    Chiarisco con uno schema:

    - utente apre il browser
    - chiama il link: http://www.miosito.it/articolo.html
    - la pagina articolo.html deve essere elaborata secondo alcuni parametri che dipendono dal server (esempio stupido: numero di articoli presenti in quel momento sul sito)
    - La pagina viene elaborata: vengono cambiati dei link, delle frasi, aggiunti e tolti stili css. Sono cambiamenti sostanziali, che non si possono fare ad esempio includendo un iframe con all'interno un asp.
    - La pagina viene mandata al browser e l'utente la legge come se fosse una pagina assolutamente statica.


    Il massimo sarebbe poter fare tutto questo con un javascript (che richiama una pagina asp sul server quindi comunque lato server) perché le pagine hanno già un riferimento di inclusione ad un file js per cui dovrei lavorare su un unico js.


    Forse chiedo la luna... ma tentar non nuoce! :-)

    ciao

  9. #9
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ...fare tutto questo con un javascript (che richiama una pagina asp sul server quindi comunque lato server)...
    prova a vedere qualcosa sullo sviluppo ajax... magari fa al caso tuo

    cerca su questo forum
    Vuoi aiutare la riforestazione responsabile?

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

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.