Forzare il caricamento di un file specifico

di il
11 risposte

Forzare il caricamento di un file specifico

PREMESSA

Al posto di "base" verrà utilizzato il tag "xxxbase" perché (per problemi tecnici di questo forum già segnalati agli amministratori) diversamente il sistema non accetta il messaggio.

-------------

Ciao a tutti, vado al dunque.
Ho creato questa struttura di file

+-- sub
¦   +-- index.html
¦   +-- various.css
+-- various.css

--- sub/index.html ---
<!DOCTYPE html>
<html>
<head>
    <xxxbase href="..">
    <link rel="stylesheet" type="text/css" href="various.css">
    <link rel="stylesheet" type="text/css" href="./various.css">
</head>
<body>
    <h1>PIPPO</h1>
    <h3>PLUTO</h3>
</body>
</html>
--- EOF ---

--- sub/various.css ---
h3 {
    color: red;
}
--- EOF ---

--- various.css ---
h1 {
    color: red;
}
--- EOF ---
Col mio browser apro la directory sub e faccio click su index.html

A questo punto mi aspetto che il browser, oltre a index.html, carichi anche i file
various.css
./various.css (vedere appendice [1])

various.css viene caricato.
In realtà viene caricato ../various.css per effetto del tag <xxxbase href="..">

./various.css sembra che non viene caricato: PLUTO si dovrebbe vedere in rosso.
Forse anche in questo caso viene caricato ../various.css

Come posso fare per forzare il caricamento di ./various.css?

[1] ./various.css: il punto iniziale SUPPONGO dovrebbe servire per caricare proprio il file various.css e non ../various.css

11 Risposte

  • Re: Forzare il caricamento di un file specifico

    cicco7 ha scritto:


    Come posso fare per forzare il caricamento di ./various.css?
    Se hai modificato la directory corrente tramite l'elemento base, tutti i percorsi di file referenziati nel documento che sono relativi si riferiranno a quel percorso: è proprio la finalità dell'utilizzo di quell'elemento.

    Se il file da utilizzare si trova in un percorso diverso, o rinunci all'uso di base o specifichi un percorso assoluto (es. che includa la radice del percorso o l'intero URL completo).

    Personalmente, non vedo la possibilità di mettere in campo soluzioni (che non siano accrocchi più problematici rispetto alle soluzioni proposte).

    Ciao!
  • Re: Forzare il caricamento di un file specifico

    Grazie delle info.
    Mi sa che allora rinuncerò a questa soluzione.
  • Re: Forzare il caricamento di un file specifico

    cicco7 ha scritto:


    Grazie delle info.
    Mi sa che allora rinuncerò a questa soluzione.
    Una terza via sarebbe quella di usare sempre un percorso relativo, ma tenendo conto che il percorso va indicato in riferimento al contenuto di base piuttosto che a quello della pagina corrente.
  • Re: Forzare il caricamento di un file specifico

    Si anche questa è una buona idea
  • Re: Forzare il caricamento di un file specifico

    cicco7 ha scritto:


    Si anche questa è una buona idea
    Mi rimane comunque da capire, tirando le somme, a cosa servirebbe quindi l'uso di quell'elemento base, se poi tutti gli indirizzi (rimanendo relativi) devono essere adeguati di conseguenza.
  • Re: Forzare il caricamento di un file specifico

    Alka ha scritto:


    cicco7 ha scritto:


    Si anche questa è una buona idea
    Mi rimane comunque da capire, tirando le somme, a cosa servirebbe quindi l'uso di quell'elemento base, se poi tutti gli indirizzi (rimanendo relativi) devono essere adeguati di conseguenza.
    Cioè?
  • Re: Forzare il caricamento di un file specifico

    cicco7 ha scritto:


    Cioè?
    Tutti gli indirizzi sono relativi, cioè riferiti al percorso della pagina corrente: usando base, tu vai a modificare questa locazione, ma poi vai a ritoccare anche (di conseguenza) tutti gli indirizzi affinché si riferiscano al nuovo path piuttosto che a quello predefinito... non si fa prima a evitare base e a lasciare gli indirizzi come sono, riferiti alla posizione della pagina corrente?
  • Re: Forzare il caricamento di un file specifico

    E se la pagina corrente deve essere spostata devono essere ritoccati tutti gli indirizzi. Con il tag base invece basterebbe ritoccare solo quest'ultimo.
  • Re: Forzare il caricamento di un file specifico

    cicco7 ha scritto:


    E se la pagina corrente deve essere spostata devono essere ritoccati tutti gli indirizzi. Con il tag base invece basterebbe ritoccare solo quest'ultimo.
    Questo è vero, anche se a me non è mai capitato: quando creo un sito o una applicazione Web, può capitare che una pagina venga tutt'al più rinominata, o che cambi cartella/sezione, ma non in modo da rivoluzionare la struttura esistente dei file, ad esempio cambiando il livello di profondità della cartella in cui è memorizzato il file che viene rinominato o spostato.

    Ciò vale a maggior ragione se si fa uso di framework che si aspettano di trovare ciascun tipo di file in un posto ben preciso, ad esempio le viste sotto "Views", i file degli asset come i fogli di stile e le immagini sotto "Contents", e così via.

    In poche parole, la presenza di questa esigenza di spostamento potrebbe nascondere un problema presente alla radice della realizzazione del sito Web: la mancata progettazione dello stesso, che deve avvenire prima della scrittura del codice relativo.

    Ciao!
  • Re: Forzare il caricamento di un file specifico

    Comunque una domanda.
    Per il tag base deve essere usato un indirizzo assoluto (http://exampl) o va bene anche un path relativo (..) come quello che ho usato io nell'esempio.
    Attualmente le rfc cosa dicono?
  • Re: Forzare il caricamento di un file specifico

    cicco7 ha scritto:


    Per il tag base deve essere usato un indirizzo assoluto (http://exampl) o va bene anche un path relativo (..) come quello che ho usato io nell'esempio.
    Essendo il riferimento per i percorsi relativi, credo che il base debba sempre indicare un percorso assoluto.
Devi accedere o registrarti per scrivere nel forum
11 risposte