Символ Flex + заменяется пустым при передаче в качестве параметра приложения - PullRequest
2 голосов
/ 23 февраля 2011

Я передаю строковый параметр в flex-приложение как FlashVars

Параметр иногда содержит специальные символы, все отображается нормально, кроме знака +, который заменяется пустым при достижении 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 приложения я написал

var testValue:String = application.parameters["testVar"].toString();
Alert.show(testValue);

Теперь это хорошо, за исключением того, что символ + заменяется пустым. Это не происходит с другими символами, такими как /, @ $ -_, но с символом +.

Любая помощь по этому вопросу будет принята с благодарностью.

1 Ответ

3 голосов
/ 23 февраля 2011

Из Документы Adobe :

О кодировке свойств flashVars

Значения свойств flashVars должны быть в кодировке URL.Формат строки представляет собой набор пар имя-значение, разделенных амперсандом (&).Вы можете экранировать специальные и непечатаемые символы с символом процента (%), за которым следует двузначное шестнадцатеричное значение.Вы можете представить одно пустое пространство, используя знак плюс (+).

Если посмотреть на один из комментариев Мэтью Хорна, то внизу кажется, что вы можете использовать %2B для пропуска + персонаж.

...