0

我创建了一个简单的 Flash 菜单,SWF 文件、JS 文件(swfoject.js 和 fly.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 属性更改为该文件夹,因为我在我们的网站上的不同位置运行了其他脚本,然后它会搞砸这些!在此先感谢您的帮助。克里斯。

4

1 回答 1

0

一旦你把它放在你的网络服务器上,在路径之前 / 将意味着任何希望访问它的东西都将进入域的根目录,

/yourfolder/javascript.js

如果你只是使用

你的文件夹/ja​​vascript.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>
于 2009-07-29T11:29:37.800 回答