网页中的flash加载资源时的路径相对于谁?
来源:互联网 发布:csol红魔剑数据 编辑:程序博客网 时间:2024/06/14 01:54
在项目中出现了一个问题,一个flash播放器支持两种播放方式,flv路径直接播放和xml播放列表式播放。
将swf、flv、播放列表放在同一文件夹A,swf直接以文件名称来访问flv和播放列表,然后嵌入播放的网页放在flv路径和xml播放列表文件的上层文件夹B中,结果使用flv路径的能正常播放,而使用播放列表的却无法播放。最后发现,播放时网页向服务器发送的get信息中flv路径(A/***.flv)是正确的相对于网页的路径,而播放列表的get消息中的路径(***.xml)却是相对于html网页的,也就是直接就是名称。
原因不详,日后有空再研究,解决办法嘛,在swf中加载任何资源都将其扩展成绝对路径。
11月11日追:
(今天又在某处看到了以下资料,不过这种解决方案要求使用者去解决此问题, 而不是flash的提供者去解决,虽然麻烦一点,我还是喜欢上面的解决方案)
有載入外部資源的都知道,Flash相對路徑是根據它所在HTML而不是Flash自己本身,例如網頁http://luar.com.hk/test.html有一個http://luar.com.hk/swf/test.swf,這個Flash以相對路徑載入test.xml,Flash Player載入http://luar.com.hk/test.xml而不是http://luar.com.hk/swf/test.xml。因為這種特性,往往發生很多發佈上問題。開發人員明明在本地測試妥當,所有相關files連同swf都放在同一個folder裡面,到交付客戶時,卻出現問題,因為別人可能喜歡將整個東西放在一個subfolder下,在HTML嵌入Flash時,Flash和本身HTML根本不在同一個folder下,結果出現找不到外部資源問題。
其實HTML發佈Flash的參數有一個叫base,可以指示Flash相對路徑由那裡開始,只要設定base=".",就可以跟著Flash路徑走。
平常例子:
width="500〃
height="300〃
codebase="http://active.macromedia.com/flash7/cabs/swflash.cab#version=9,0,0,0">
<param name="base" value="."></param>
<param name="movie" value="swf/test.swf"></param>
<param name="play" value="true"></param>
<embed base="." src="swf/test.swf"
width="500" height="300" play="true"
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
</embed></object>
- 网页中的flash加载资源时的路径相对于谁?
- iphone:加载本地资源中的网页
- 处理Flash加载的相对路径
- Flash as3资源加载
- 网页、JS、CSS和Flash中的相对路径
- 网页加载Flash动画
- Java加载资源文件时的路径问题
- 简单聊聊网页的资源加载优化
- Spring的资源加载路径列表
- 计算出$b相对于$a的相对路径
- minihttpd cgi 路径是相对于 webdir的
- 相同盘符下,路径2相对于路径1的相对路径
- 网页资源加载动画
- 资源加载路径问题
- 截取网页中的Flash
- html中加载flash后的路径问题
- Flash AS3 相对于AS2 新的特性和改动
- 关于IDEA中部署网页时发生资源路径问题的解决方案
- 《测试自动化框架实践》开始招生了
- EXCEL里VLOOKUP()函数的问题
- myGeneration使用文档
- 请选好自己的路
- 编程的初步学习
- 网页中的flash加载资源时的路径相对于谁?
- 形参,实参,传值,传地址,传引用
- oracle10g表达式规则操作
- 网页制作Javascript经典小技巧
- singleton 单件模式
- Record和PL/SQL详解及操作实战
- C++内存管理(转)
- 生死疆界—new与delete之间—CheckBytes(转载)
- 数据结构系列教程------精讲(JAVA版)