HTMLフォームから、パラメータE.G、ログインの詳細を渡す既存の動作中のフレックスアプリケーションを起動します。外部mxmlのhtmlリクエストパラメータにアクセスする方法
私は、フラッシュが全くない単純なHTMLページを持っていると言います。
<h1>Test sending parameters</h1>
<form name="login" action="http://example.com/myflexApp/index.html"
target="_new" method="POST">
username: <input type="text" name="username" />
password: <input type="text" name="password" />
<input type="submit" value="Submit" />
</form>
これは、新しいブラウザウィンドウに初めて自分のアプリケーションを開きます
のindex.htmlを作成するためにコンパイルされマイindex.mxmlはこのようになります (簡体字):
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
...
creationComplete="init(event)" xmlns:omp="omp.*">
<fx:Style source="defaults.css"/>
<fx:Script>
<![CDATA[
import ...
protected function init(event:FlexEvent):void
{
if (params[username] && params[password])//psuedo code
{
Alert.show(params[username],params[password]);//debugging
//login(params[username],params[password]);//psuedo code to log in automatically
}else{
//existing code to show login form which works
}
}
]]>
</fx:Script>
<mx:ViewStack id="vs" width="100%" height="100%" ...>
</mx:ViewStack>
</s:Application>
それでは、HTMLコードはどのように見えるのでしょうか、init()関数に入る対応するactionscriptコードは何でしょうか?
少なくとも、私はグーグルで何をすべきですか?
注:明らかに、パラメータと値をブラウザのURLアドレスに表示することはできません。さもなければ、これは簡単でしょう。
また、アプリケーションは元のHTMLページに埋め込まれていませんが、このトピックで見つかった検索結果の99.9%は、それがあった場合の例を示しています。
理想的には元のリクエストはPOSTリクエストですが、明らかにflexはポストリクエストを処理できません。
(それはHTML内に埋め込まれたSWFに送信していない場合は、HTML形式の完全に確認されていないが - など私が言った、それがあった場合の例の100さんを見つけました)、私は無駄にFlashVarsのを試してみた
HTML:
<param name="flashvars" value="test='default text'" />
MXML:
if (FlexGlobals.topLevelApplication.parameters.hasOwnProperty("username"))
{
Alert.show(FlexGlobals.topLevelApplication.parameters.username);
}
//Alert.show(LoaderInfo(this.root.loaderInfo).parameters.username);//also fails
だから、他のほとんどの言語で、単純な私はしかし、FLEXと運を持っていないと働いてきました。私は明らかに何か基本的なものを欠いている。これをグーグルで
ありがとうございました。私は成功していないこの例を試みました。 ta1要素の内容は常に 'i:13287332432'です。'i:'の後に数字の束が続きます( 'i:'はちょうど偶然のことで、ta1.text + = j + "+> FlexGlobal ...に変更すると" i:123123 ') – user1196263
また、私はまだ私は正しいhtmlを持っているとは思わない。オブジェクトタグとその内容はhtml入力フォームとどのように関連していますか?オブジェクトタグを完全に削除すると、送信ボタンでアプリを起動すると 'i:123234213'が表示されます。ありがとう – user1196263
私はあなたが2つのhtmlファイルを持っていると思った:1.フォームとして、2. SWFを埋め込む。右?!後者では、POSTデータをFORMから取得してSWFオブジェクトに渡す必要があります。なぜあなたはHTMLでフォームを作成しようとしていますが、これをあなたのフラッシュアプリケーションには含まないのですか? html-> flashからparamsを渡す必要はありません。 – pkyeck