-2

Flex ベースの AIR デスクトップ アプリ内にページをロードし、ページの特定のフィールドにデータを入力する必要があります。HTML コントロールを使用してページを読み込もうとしていますが、DOM 要素を操作する方法がわかりません。これを行う別の方法はありますか?

ポインタやヘルプをいただければ幸いです。

ありがとう、

4

2 に答える 2

0

Flex / Air アプリからパラメーターを URL 変数として渡すことに成功し、HTML ページ (as3 の stagewebview で読み込まれる) で、サーバー側のテクノロジ (php、asp など) を使用して個々のデータ要素を取得し、javascript を使用します。これらの値を取得して、ページの特定のフィールドの値として設定します。

私はそれを両方の方法で使用したので、たとえば、html ページは flex / air アプリによって監視される URL 呼び出しを呼び出すことができ、as3 では特定の URL 変数 (つまり、URL の変更が検出されたとき) を監視できます。アクション as3 で発生したいのですが、反対方向では、flex/air アプリはデータとコマンド/トリガーを HTML ページにも送信できます。

AS3 StageWebViewBridge は非常に強力に見えますが、私はまだそのすべての利点を利用しようとはしていません。標準の StageWebView を自分のニーズに合わせて使用​​しただけです。あなたのプロジェクトを頑張ってください。他に質問があればお知らせください。

于 2013-10-26T23:23:37.700 に答える
-1

ご回答いただきありがとうございます。返信が遅くなり申し訳ありません。メールで通知を受け取っていませんでした。

だから、私はこれを機能させました。具体的には、ページを開き、フォームにフィールドを入力し、フォームを送信して、結果を収集しています。これには多くの肉付けが必要ですが、基本的なコンセプトは機能します:

<fx:Script>
    <![CDATA[
private function init(e:Event):void
        {
            htmlCont.addEventListener(Event.COMPLETE, htmlComplete);
            htmlCont.location="https://www.targetsite.com/pagewithform.html" 

        }
private function htmlComplete(event:Event):void
        {   
            htmlCont.domWindow.document.getElementById("fieldToFill01").value = textInput.text;
            htmlCont.removeEventListener(Event.COMPLETE, htmlComplete);
            //After new page is loaded, trigger function to get data
            htmlCont.addEventListener(Event.COMPLETE, getResult);
            //Use htmlElement.htmlLoader to access DOM click() function.
            htmlCont.htmlLoader.window.document.getElementById("ButtonID").click();


        }                  
private function getResult(e:Event):void
        {
          //Getting all <p> tags for example
          var returnedArray = htmlCont.htmlLoader.window.document.getElementsByTagName("p");
          //Different grabs of the content of a <p> tag.
          trace(returnedArray[0].innerHTML);
          trace(returnedArray[0].innerText);
          trace(returnedArray[0].textContent);
}
</fx:Script>
<!-- Inside your Application somewhere -->
<mx:HTML id="htmlCont" width="100%" height="100%" y="100"/>

繰り返しますが、これにはまだやるべきことがたくさんあります。html ターゲット ページの書式設定には多くの要望が残されているため、すぐにいくつかの正規表現に関する質問があると思います。

入力していただきありがとうございます。応答しないという悪い形で申し訳ありません。

于 2013-10-28T01:08:45.683 に答える