首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • xml跨域问题? [已结贴,结贴人:zjkboy]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zjkboy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-19 10:46:05 楼主
    xml和swf是在同一目录下的
    我代码里是先取得要load的xml绝对路径 然后加载xml 处理。。。。
    IDE里一切正常

    但是脱离了IDE 单独运行
    报错:

    SecurityError: Error #2148: SWF 文件 file:///D|/我的文档/My%20Documents/Flex%20Builder%203/zjk/flex%5Fbin/zjk.swf 不能访问本地资源 file:///D|/我的文档/My%20Documents/Flex%20Builder%203/zjk/flex%5Fbin/zjk.xml。只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源。
            at flash.net::URLStream/load()
            at flash.net::URLLoader/load()
            at zjk/init()[D:\我的文档\My Documents\Flex Builder 3\zjk\src\zjk.mxml:18]
            at zjk/___zjk_Application1_creationComplete()[D:\我的文档\My Documents\Flex Builder 3\zjk\src\zjk.mxml:2]
            at flash.events::EventDispatcher/dispatchEventFunction()
            at flash.events::EventDispatcher/dispatchEvent()
            at mx.core::UIComponent/dispatchEvent()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:9051]
            at mx.core::UIComponent/set initialized()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:1167]
            at mx.managers:ayoutManager/doPhasedInstantiation()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:698]
            at Function/http://adobe.com/AS3/2006/builtin::apply()
            at mx.core::UIComponent/callLaterDispatcher2()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8460]
            at mx.core::UIComponent/callLaterDispatcher()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8403]


    不知道这么问题怎么解决
    大大们指教下啊
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • c2u
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 14:06:341楼 得分:10

    flash 不允许调用本地资源,解决办法:

    1)你可以把绝对路径改成相对路径,这样他会认为是互联网上的资源……
    2)添加一个安全策略文件到你的FLASH PLAYER 安装目录,允许访问你机器上的文件
    3)修改FLASH的发布设置,让其只允许访问本地资源(默认是只允许访问 network)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zjkboy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 19:55:222楼 得分:0
    顶一下

    肯定是要取到绝对路径的

    做的程序放到网上 一定要绝对路径
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zjkboy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 10:47:553楼 得分:0
    再没人支招了吗???
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • isaaq
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:06:034楼 得分:10
    放到网上如何用绝对路径呢,思路就不对
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • isaaq
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 11:08:585楼 得分:0
    楼上C2U说的比较合理
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kittyjinhui
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 12:46:036楼 得分:0
    放在网上,又要取绝对路径?

    楼主要实现什么功能呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zjkboy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 17:56:077楼 得分:0
    我真郁闷~!!!!

    this.url.substr(0,this.url.lastIndexOf("/")) + "/zjk.xml"

    这是是去绝对路径
    不管你挂到虚拟主机的什么位置  swf需要 load 的 都是绝对路径

    现在大家讨论来讨论去 无非就是2句话的区别
    loader.load(new URLRequest("zjk.xml"));和
    loader.load(new URLRequest(this.url.substr(0,this.url.lastIndexOf("/")) + "/zjk.xml"));

    按你们说的  如果用相对路径  就是 loader.load(new URLRequest("zjk.xml"));啦


    你们可以试验一下
    swf同路径下  loader.load(new URLRequest("zjk.xml"));
    在IDE里一切正常!!!

    但是你把工程文件flex_bin
    拿出来  拿到哪都可以
    这时候swf就找不到xml在哪了  所以必须给它个绝对路径

    谁要是说拿出来  swf还能load的到文件  我把脑袋给你
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zjkboy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 17:58:068楼 得分:0
    谁能帮我解决这个什么乱糟糟的
    只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源。

    我真把脑袋给你
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zjkboy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 18:02:159楼 得分:0
    引用 1 楼 c2u 的回复:
    3)修改FLASH的发布设置,让其只允许访问本地资源(默认是只允许访问 network)


    这个。。。
    怎么修改 我白痴
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • isaaq
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 23:11:3010楼 得分:0
    你肯定是本地直接浏览了,所以才出现这个问题。
    应该放入server容器内去测试,比如apache或者iis内
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • isaaq
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 23:11:2511楼 得分:0
    你肯定是本地直接浏览了,所以才出现这个问题。
    应该放入server容器内去测试,比如apache或者iis内
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • isaaq
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 23:11:4212楼 得分:0
    你肯定是本地直接浏览了,所以才出现这个问题。
    应该放入server容器内去测试,比如apache或者iis内
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • john_shen_tiro1
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 00:19:3613楼 得分:0
    我觉得应该放到server里面去试下
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved