2

文字列パラメーターを 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

私が書いたアプリケーションの初期化のフレックスコードで

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

+ 文字が空白に置き換えられることを除いて、これは正常に表示されます。/,@$-_ などの他の文字では発生しませんが、+ 文字です。

これに関するヘルプは大歓迎です。

4

1 に答える 1

3

Adobeのドキュメントから:

flashVars プロパティのエンコードについて

flashVars プロパティの値は、URL エンコードする必要があります。文字列の形式は、アンパサンド (&) で区切られた一連の名前と値のペアです。パーセント記号 (%) とそれに続く 2 桁の 16 進数値を使用して、特殊文字および印刷不能文字をエスケープできます。プラス記号 (+) を使用して単一の空白を表すことができます。

matthew horn からのコメントの 1 つをさらに下に見ると、文字%2Bを渡すために使用できるようです。+

于 2011-02-22T22:44:14.837 に答える