很多站长在发布网站时,往往都有flash资源,而flash往往要调入xml文档,但由于路径问题,导致flash不能正常显示。
有载入外部资源的都知道,Flash相对路径是根据它所在HTML而不是Flash自己本身,例如网页http://www.wang.net/test.html有一个http://www.wang.net/swf/test.swf,这个Flash以相对路径加载test.xml,Flash Player载入http://www.wang.net/test.xml而不是http://www.wang.net/swf/test.xml。因为这种特性,往往发生很多发布上问题。开发人员明明在本地测试妥当,所有相关files连同swf都放在同一个folder里面,到交付客户时,却出现问题,因为别人可能喜欢将整个东西放在一个subfolder下,在HTML嵌入Flash时,Flash和本身HTML根本不在同一个folder下,结果出现找不到外部资源问题。
其实HTML发布Flash的参数有一个叫base,可以指示Flash相对路径由那里开始,只要设定base=".",就可以跟着Flash路径走。
平常例子:
个人经验总结:swf文件与xml文件最好放在一个文件夹下,网页中插入swf文件时,要加入base="."这个代码。
示例:
<emBED src=/UploadFiles/flash/07/02351.swf width=200 height=75 type=application/x-shockwave-flash base="."></EMBED>