如何制作JS&amp ;;的相对路径? HTML中的SWF文件有效吗?

时间:2009-07-29 11:23:46

标签: javascript html flash swfobject filepath

我创建了一个简单的flash菜单和SWF文件,JS文件(swfoject.js和flying.js)& XML文件位于服务器根目录下名为“icpmenu_es”的文件夹中。如果我在本地硬盘上打开SWF文件它工作正常,但如果我改变文件的路径以便在我的网站上使用,它将无法正常工作。我知道它已经找到了JS文件,因为如果我在其中放置了一个不正确的路径,则会显示消息,说我需要安装Flash或允许JS访问菜单。代码如下:

<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>      

任何帮助都会非常感激,因为这让我发疯,看起来这么简单。顺便说一句,如果我将BASE属性更改为icpmenu_es文件夹,那么它可以正常工作,因为所有src链接都只有“文件名”而不是路径。但是,我无法将BASE属性更改为此文件夹,因为我在其网站上运行的其他脚本位于不同的位置,然后它们就会搞乱这些!在此先感谢您的帮助。克里斯。

1 个答案:

答案 0 :(得分:0)

一旦你把这个放在你的网络服务器上,在路径之前用/表示任何访问它的东西都会转到域的根目录,

/yourfolder/javascript.js

如果您只是使用

yourfolder / javascript.js

例如,您网站上的当前路径为

www.yoursite.com/members

那么相对路径将被翻译成

www.yoursite.com/members/yourfolder/javascript.js

因此,使用绝对值,它总是知道要转到您网站的根目录来存档文件!

更新:


使用以下标记和测试

<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>