我创建了一个简单的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属性更改为此文件夹,因为我在其网站上运行的其他脚本位于不同的位置,然后它们就会搞乱这些!在此先感谢您的帮助。克里斯。
答案 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>