我有一个A.swf,它将B.swf加载到一个movieclip上,需要传递一些FlashVars.使用html加载B.swf时,我可以正常传递FlashVars.当从A.swf传递时,它得到一个
错误#2044:未处理的ioError:text =错误#2032:流错误.网址:文件:
A.swf中的代码是
var request:URLRequest = new URLRequest ("B.swf");
var variables : URLVariables = new URLVariables();
variables.xml = "test.xml";
// This line causes the error 2044, else B.swf loads fine with FlashVars
request.data = variables;
loader.load (request);
Run Code Online (Sandbox Code Playgroud)
在B.swf中,它正在检查Flashvars.从HTML方面它工作正常
this.loaderInfo.parameters.xml
Run Code Online (Sandbox Code Playgroud) 如果allowfullscreen param为false,我想删除全屏按钮.
param value="true" name="allowfullscreen"
有谁知道它是否有可能检测到这个值?它没有与loaderInfo.parameters上的其他flashvars一起提供.
编辑:我已经意识到我面临的主要问题是我想要一个已经存在于movieclip或舞台上的文本字段来从flashvar中获取字符串.出于某种原因,它不会那样做.如何更改预先存在的文本字段以匹配flashvar文本?
HTML:
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="29px" id="egnewsTicker" align="middle">
<param name="movie" value="egnewsTicker.swf" />
<param name="flashvars" value="newslisttest=this is my test" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="wmode" value="transparent" />
<param name="scale" value="showall" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="lt" />
<param name="allowScriptAccess" value="sameDomain" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="egnewsTicker.swf" width="100%" height="29px">
<param name="movie" value="egnewsTicker.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" /> …
Run Code Online (Sandbox Code Playgroud) 我有一个Flex 3应用程序(播放器v9)加载Flash SWF(AS3,也是播放器v9),需要动态传递一组在运行时已知的参数.这些参数通常通过flashvars
HTML页面中的元素传递.嵌入式影片通过loaderInfo.parameters
对象访问这些参数.
我试过使用SWFLoader
和Loader
类在param传递中没有成功.
相关细节:
loaderInfo.parameters["foo"] = "123"
了嵌入代码中的设置,但参数似乎永远不会出现在嵌入式电影中.我有一个swf(child.swf),我希望加载到另一个(parent.swf).我希望通过我正在使用的加载器将参数传递给child.swf.请注意,我并没有尝试传递parent.swf已经拥有的FlashVars,而是试图通过自定义参数通过另一个swf加载swf.
这只发生在IE中.
我正在使用swfobject并加载flash变量
var flashVars = {
myVar:'{"url":"http://google.com/", "id":"9999"}',
};
var params = {
allowFullScreen:"true",
wmode:"transparent",
allowScriptAccess:'always'
};
swfobject.embedSWF("mySwf.swf", "mySwf", "512", "318", "10.0.0", "./js/swfobject/expressInstall.swf", flashVars, params);
Run Code Online (Sandbox Code Playgroud)
一切都在IE浏览器中完美运行.我查了一下myVar
,它进入了瑞士法郎{
,就是这样.我知道它正在死亡'
.我试过放一个前面\
,然后尝试\\
并继续添加一个斜线直到我到达\\\\\\\\
.我甚至颠倒了所有斜线并尝试了同样的仪式.没有.
我可以通过反向引号和使用双斜杠来获取字符串,但是然后我的JSON解析器因为我的字符串中存在斜杠而生气.
这是一个有效的例子,但是什么是无效的JSON:
"{\\'url\\':\\'http://google.com/\\', \\'id\\':\\'9999\\'}"
Run Code Online (Sandbox Code Playgroud) 有没有办法将命令行参数传递给Windows中的Flash投影仪?我有另一个应用程序(在这种情况下,安装程序)需要与Flash投影仪通信(闪存工作方式相同).我无法在网上找到任何信息(一切似乎都集中在使用FSCommand参数来执行未来的投影仪,这对我调用原始投影仪没有帮助)...
我可以在运行自己的HTML文件时将值从HTML传递到SWF,但我无法在Flex Builder中看到这样做的方法.
使用对象标记中的额外参数创建我自己的HTML文件可以正常工作:
<param name="flashVars" value="greeting=Hello"/>
Run Code Online (Sandbox Code Playgroud)
然后我可以使用此ActionScript获取Flex中的值:
blah = Application.application.parameters.greeting
Run Code Online (Sandbox Code Playgroud)
但是,单击Flex Builder中的"运行"按钮来测试我的应用程序使用由编译器构建的HTML,并且无法更改.有没有办法设置参数进入项目?谢谢.
flashvars ×8
flash ×4
apache-flex ×2
flexbuilder ×1
fullscreen ×1
json ×1
loader ×1
projector ×1
string ×1
swfloader ×1