Come posso fare i percorsi relativi ai file JS e SWF in HTML?
-
20-09-2019 - |
Domanda
Ho creato un semplice menu flash e il file SWF, i file JS (swfoject.js e flying.js) e i file XML si trovano in una cartella chiamata "ICPMenu_ES" nella root del server. Se apro il file SWF sul mio HDD locale, funziona bene ma se modifico i percorsi ai file da utilizzare sul mio sito Web, non funzionerà affatto. So che ha trovato i file JS perché se inserisco un percorso errato in esso presenta il messaggio che dice che devo installare Flash o consentire a JS di accedere al menu. Il codice è il seguente:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="keywords" content="" /> <meta name="description" content="TEST" /> <meta http-equiv="Content-Language" content="es" /> <base href="http://www.ideal-country-property.com/"></base> <title> TEST | Ideal Country Property S.L.</title>
<script type="text/javascript" src="icpmenu_es/swfobject.js"></script>
<script type="text/javascript" src="icpmenu_es/flying.js"></script></HEAD><BODY> <!-- ICP www.ideal-country-property.com -->
<div id="ICPmessage" style="position:absolute; top:100px; padding-left:0px; z-index:0;">
You need to upgrade your Flash Player or to allow javascript to enable Website menu. </br>
<a href="http://www.adobe.com/go/getflashplayer">Get Flash Player</a>
</div>
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject("icpmenu_es/menu.swf", "menu", "185", "440", "8", "#000000");
so.addVariable("page_code", "a_b_c");
so.addParam("wmode", "transparent");
so.addParam("scale", "noscale");
so.addParam("salign", "TL");
so.write("ICPmessage");
// ]]>
</script></BODY></HTML>
Qualsiasi aiuto sarebbe molto apprezzato in quanto questo mi sta facendo impazzire e sembra una cosa così semplice. A proposito, se cambio l'attributo di base nella cartella ICPMenu_ES, funziona come tutti i collegamenti SRC hanno solo il "nome file" e non il percorso. Tuttavia, non posso modificare l'attributo di base in questa cartella poiché ho altri script in esecuzione sul nostro sito Web in diverse posizioni e poi lo rovinerebbero! Grazie in anticipo per il vostro aiuto. Chris.
Soluzione
Una volta messo questo sul tuo server Web che precede il percorso / significherà che tutto ciò che desidera accederlo andrà alla radice del dominio,
/yourfolder/javascript.js
Se usi semplicemente
Yourfolder/javascript.js
E ad esempio, il tuo percorso attuale sul tuo sito è
www.yoursite.com/members
allora quel percorso relativo verrà tradotto in
www.yoursite.com/members/yourfolder/javascript.js
Quindi, usando Absolute, saprà sempre andare alla radice del tuo sito per archiviare i file!
AGGIORNARE:
Utilizzare il seguente markup e test
<HTML>
<HEAD>
<title>ICP Spanish Menu</title>
<base href="http://www.ideal-country-property.com"></base>
<script type="text/javascript" src="/icpmenu_es/swfobject.js"></script>
<script type="text/javascript" src="/icpmenu_es/flying.js"></script>
</HEAD>
<BODY>
<!-- ICPmessage www.ideal-country-property.com -->
<div id="ICPmessage" style="position:absolute; top:100px; padding-left:0px; z-index:0;">
You need to upgrade your Flash Player or to allow javascript to enable Website menu. </br>
<a href="http://www.adobe.com/go/getflashplayer">Get the FREE Flash Player from Adobe</a>
</div>
<div id="menu"></div>
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject ("/icpmenu_es/menu.swf", "menu", "185", "440", "8", "#000000");
so.addVariable("page_code", "a_b_c");
so.addParam("wmode", "transparent");
so.addParam("scale", "noscale");
so.addParam("salign", "TL");
so.write("ICPmessage");
// ]]>
</script>
</BODY>
</HTML>