1

フラッシュAS3(AIR 2)でデスクトップアプリを開発しています。HTMLLoaderを使用してサーバーから聖霊降臨祭のHTMLコンテンツを入力していますが、HTMLコンテンツには、ユーザーがメールを入力できるボタンがあり、送信が押されると(HTMLフォームを使用して)、アプリのコンテンツが次のように変更されます。 (データベースから取得した)そのユーザーのみのアクティビティを強調表示する、縮小された1週間のカレンダーのウェルカム画面。この縮小されたカレンダーはクリック可能であり、ここにmiの競合があります。

フォームボタンを正しく機能させるには、navigateInSystemBrowserをfalseに設定する必要がありますが、usrが日付リンクをクリックするときは、navigateInSystemBrowserをtrueに設定する必要があります...明らかに、両方の処理を同時に実行することはできませんか? ...そこで、フォームフィールド要素をフラッシュ内に配置して、メールをvar内に送信し、phpが処理して縮小カレンダーに送信できるようにしましたが、機能させることができませんでした。

タイプや名前などのタグが必要です。openIn=""を使用すると、navigateInSystemBrowserに依存する代わりに、各リンクを指定したり、アプリの内部または外部で開くオプションを固定したりできます。

検索して、私はいくつかのほとんど有用なリンクに出くわしました。

http://forums.adobe.com/message/3230376

しかし、それは可能な解決策に光を当てていません。

これは私が前回投稿したコードです。そこに書くことが私の対立をよりよく説明するのに役立つことを願っています。助けてくれてありがとう。

    import flash.html.*;
    import flash.net.*;

    var cargador:HTMLLoader = new HTMLLoader();
    var url:URLRequest = new URLRequest("myhtmlcontent.php");
    cargador.load(url);

    addChild(cargador);
    cargador.paintsDefaultBackground = false;
    cargador.width = stage.stageWidth - 0;
    cargador.height = stage.stageHeight - 0;
    cargador.cacheResponse = true;
    cargador.navigateInSystemBrowser  = true; //
    cargador.useCache = true;
    cargador.authenticate = false;
    cargador.manageCookies = true;
4

1 に答える 1

1

OK、私は答えを見つけました、少なくともそれは私のために働いています、そしてこれは私が問題を修正した方法です。私が書いた最初の投稿で:

タイプや名前などのタグが必要です。openIn=""を使用すると、navigateInSystemBrowserに依存する代わりに、各リンクを指定したり、アプリの内部または外部で開くオプションを固定したりできます。そうですね、たまたまそのようなものがあり、ここhttp://forums.adobe.com/thread/435864でよくコメントされています。

それを行うには、おそらくいくつかの方法があります。基本的に、リンク(または関連するイベント)のクリックをキャプチャし、ターゲットURLを取得して、flash.net.navigateToURL()関数を使用する必要があります。

それは私のために働きました、そしてこれは私がしたことです:

各リンクでシステムブラウザで開きたい場合は、次のように入力します。

<a href="javascript: airBrowseInDefault('https://yourSite.com/yourPage.html');">Blabla</a>

そして、AS3は次のとおりです。

import flash.html.*;
import flash.net.*;
var myVar:HTMLLoader = new HTMLLoader();
myVar.addEventListener(Event.HTML_DOM_INITIALIZE, onDomInit);
function onDomInit(event:Event):void { myVar.window.airBrowseInDefault = browseInDefault; }
function browseInDefault(url:String):void { navigateToURL(new URLRequest(url)); }
var url:URLRequest = new      URLRequest("http://yoursite.com/yourpage.php");

myVar.load(url); 
addChild(myVar);
myVar.paintsDefaultBackground = false;
myVar.width = stage.stageWidth - 0;
myVar.height = stage.stageHeight - 0;
myVar.cacheResponse = true;
myVar.useCache = true;
myVar.authenticate = false;
myVar.manageCookies = true;

ここでは、そのようなものが必要になる可能性のある人のためにコードを残します。

于 2012-09-25T05:10:24.160 に答える