我将字符串参数传递给Flex应用程序作为FlashVars
param有时包含特殊字符,除了+符号外,一切都显示正常,当它到达flex时会被空格替换。
以下是例如
的情景我在JS中有一个局部变量来获取一些值,对于这个例子,它可以被视为以下
<script language="JavaScript" type="text/javascript">
var testVar = "some_test_string_that_contains_+_character";
</script>
然后到我的Flex对象AC_FL_RunContent我传递"FlashVars","test="+testVar
在我编写的应用程序Init的flex代码中
var testValue:String = application.parameters["testVar"].toString();
Alert.show(testValue);
现在这显示正常,但+字符被替换为空白。与其他字符不同,例如/,@ $ -_,但+字符。
对此有任何帮助将不胜感激。
答案 0 :(得分:3)
来自Adobe's docs:
关于flashVars属性编码
flashVars属性的值 必须是URL编码。格式 string是一组名称 - 值对 由&符号(&amp;)分隔。您可以 逃避特殊和不可打印 带百分号的字符(%) 后跟一个两位十六进制数 值。你可以代表一个人 空格使用加号(+)。
进一步了解matthew号角中的一条评论,看起来您可以使用%2B
来传递+
字符。