Ciao a tutti, mi sto imbattendo in un problema di caricamento delle risorse all'apertura di una pagina web.
Ho già posto la domanda qua, la ripropongo in italiano:
Per gestire i percorsi all'interno di alcuni documenti stò usando il tag html <base> aggiunto come prima voce nell'<head> del documento tramite questo script scritto direttamente nei file html:
codice:
<head>
<script>
/* Where am I? */
here = window.location.href;
hereIndex = here.indexOf('prd-ita');//find path to main folder
/* make substring from local root till prd-ita/ */
newPathname = here.substring(0, hereIndex+10);//+8 to consdier also prd-ita/
document.write('<base id="host" href="'+ newPathname +'"/>');
</script>
... </head>
Il problema che sorge è che tutti i percorsi vengono caricati due volte. Con lo strumento ispeziona elemento di chrome e firefox vedo che una volta viene seguito il percorso relativo senza il prefisso aggiunto da <base> e subito dopo viene seguito il percorso corretto comprensivo di prefisso.
Per far eun esempio, avendo questa struttura delle cartelle:
- prd-ita
- index.html
- folder1
- file1.html
- pic.jpg
- subfolder2
Ho come tag <base> generato file:///D:/myWebsite/prd-ita/, e avendo (per esempio) il percorso src="folder1/pic.jpg" all'interno del file2.html, vengono seguiti rispettivamente questi percorsi:
- Quello senza prefissofile:///D:/myWebsite/prd-ita/folder1/subfolder2/folder1/pic.jpg
- Quello con il prefisso file:///D:/myWebsite/prd-ita/folder1/pic.jpg
Non posso usare lo / universale in quanto in locale corrisponde alla lettera del drive in cui si trova il file, e non considera eventuali sottocartelle, allo stesso modo niente php perchè vorrei usare solo codice lato client.