11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 4467|回复: 11
上一主题 下一主题

[已解决悬赏] 加载xml出现的问题

[复制链接] TA的其它主题
发表于 2018-12-5 15:57:54 | 显示全部楼层 |阅读模式
100银子
导出的swf,如果是用flash player打开就没有问题。
但是如果用浏览器打开,就加载不了xml文件,路径方面相对和绝对都试过了,没有什么用

xml:
[XML] 纯文本查看 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<config>
	<video>
		<list>
			<path>video/1.mp4</path>
		</list>
	</video>
</config>

as代码:
[Actionscript3] 纯文本查看 复制代码
var myXML:XML;
var XML_URL:String = "config.xml";
var myLoader:URLLoader;

myXML = new XML();
myLoader = new URLLoader(new URLRequest(XML_URL));
myLoader.addEventListener("complete", xmlLoaded);
myLoader.addEventListener("ioError", ioError);

function ioError(e: Event):void {
	trace("xml ioError." + e.toString());
	_txt.text = "xml error.";
}

function xmlLoaded(event: Event):void {
	myXML = XML(myLoader.data);
	trace("xml loaded.");
	_txt.text = "xml loaded.";
}


上面是player打开的 ,下面是浏览器打开的,浏览器试了很多个都一样结果




最佳答案

查看完整内容

安全性问题,你只要把这些档案部署到服务器或者自己本地搭建环境,就可以了,已经测试可行!
发表于 2018-12-5 15:57:55 | 显示全部楼层
本帖最后由 最后一批aser 于 2018-12-5 16:20 编辑

QQ截图20181205161900.jpg
安全性问题,你只要把这些档案部署到服务器或者自己本地搭建环境,就可以了,已经测试可行!
回复

使用道具 举报

发表于 2018-12-5 16:11:24 | 显示全部楼层
这个是一个安全限制问题。
SWF默认是有本地和网络两个模式的。
本地模式,可以更多的本地权限,比如加载本地文件等等。
网络模式,则更多的网络访问权限,本地权限则大大限制。
QQ截图20181205160638.png

本地文件可以通过添加信任,解决此问题。
QQ截图20181205161033.png

评分

参与人数 1银子 +50 收起 理由
又大又圆 + 50 谢谢谢谢

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2018-12-5 16:55:04 | 显示全部楼层
TKCB 发表于 2018-12-5 16:11
这个是一个安全限制问题。
SWF默认是有本地和网络两个模式的。
本地模式,可以更多的本地权限,比如加载本 ...

把设置修改成网络模式之后,导出的swf文件用player打开,在未设置信任路径之前打开也是没有内容的。设置之后就好了。
但是用浏览器打开swf还是没有内容,是不是还要改别的地方?
回复

使用道具 举报

 楼主| 发表于 2018-12-5 16:56:16 | 显示全部楼层
最后一批aser 发表于 2018-12-5 16:19
安全性问题,你只要把这些档案部署到服务器或者自己本地搭建环境,就可以了,已经测试可行!
...

本地怎么搭建环境呢,楼上的方法已经试过了,还是不可以,不知道是哪里出了问题
回复

使用道具 举报

发表于 2018-12-5 17:34:27 | 显示全部楼层
回复

使用道具 举报

发表于 2018-12-5 17:47:24 | 显示全部楼层
有的浏览器本地是有问题的,,比如谷歌,我之前写的JS和AS交互就是,本地谷歌是无法通信成功的。
但是实际环境下,上传到网站后,是可以的。
回复

使用道具 举报

 楼主| 发表于 2018-12-6 11:28:39 | 显示全部楼层
最后一批aser 发表于 2018-12-5 17:34
https://jingyan.baidu.com/article/ed2a5d1f128ff609f6be17fa.html

谢谢,根据两位大佬的方法,可以在网页加载到xml的数据了。

不过在我播放mp4的时候就又不行了,提示NetStream.Play.StreamNotFound,找不到视频文件,但是swf就可以,能帮我看看是什么原因吗
加载视频的代码:
[Actionscript3] 纯文本查看 复制代码
public function LoadVideo() 
{
	nc = new NetConnection();
	nc.connect(null);
	videoStream = new NetStream(nc);
}

public function load(_url:String,_mc:MovieClip):void 
{
	mc = _mc;
	videoStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
	videoStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

	videoStream.play(_url);
	myvideo = new Video();
	myvideo.attachNetStream(videoStream);
	mc.parent.addChild(myvideo);
}

private function asyncErrorHandler(event: AsyncErrorEvent): void {
	trace("ignore error:" + event);
}

private function netStatusHandler(event:NetStatusEvent):void 
{
	trace(event.info.code);
}



回复

使用道具 举报

发表于 2018-12-6 11:43:34 | 显示全部楼层
又大又圆 发表于 2018-12-6 11:28
谢谢,根据两位大佬的方法,可以在网页加载到xml的数据了。

不过在我播放mp4的时候就又不行了,提示NetS ...

[Actionscript3] 纯文本查看 复制代码
 
myvideo = new Video();
 myvideo.attachNetStream(videoStream);
 videoStream.play(_url);//放到下面


回复

使用道具 举报

 楼主| 发表于 2018-12-6 12:10:11 | 显示全部楼层
最后一批aser 发表于 2018-12-6 11:43
[mw_shl_code=actionscript3,true]
myvideo = new Video();
myvideo.attachNetStream(videoStream);

还是不行,我在本地是没有问题的,就是放到服务器上不行了
跟swf放在一起的,swf就可以
nc.connect(null);

会是这个参数的原因吗;
参数  command:String — 如果要连接到本地计算机上的视频文件,请将此参数设置为 null。 如果要连接到服务器,则将此参数设置为包含服务器上视频文件的应用程序的 URI。 应使用以下语法(方括号中的项是可选的):
protocol:[//host][:port]/appname[/instanceName]

若要连接到 Flash Media Server,请使用 rtmp、rtmpe、rtmps、rtmpt、rtmpte 或 rtmfp 作为协议。如果连接成功,则会返回 code 属性值为 NetConnection.Connect.Success 的 netStatus 事件。 有关为响应 connect() 调用而返回的所有事件代码的列表,请参阅 NetStatusEvent.info 属性。

如果 SWF 文件是从安装服务器的同一台主机中提供的,则可以省略 host 参数。 如果省略 instanceName 参数,Flash Player 将连接到应用程序的默认实例。

  
... arguments — 要传递给 command 中指定的应用程序的任意类型可选参数。 如果使用 Flash Media Server,会将额外的参数传递给应用程序服务器端代码中的 application.onConnect() 事件处理函数。 您必须在 onConnect() 中定义并处理这些参数

把视频和swf放在一起应该算本地文件把,还是网络上的?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



快速回复 返回顶部 返回列表