0
4

2 に答える 2

0

こんにちは、LocationChangeEvent反対の JS->AS3 の「会話」を行うために を使用できます。このようにして、JSON を使用して渡される引数の負荷を提供するような方法でリンクを準備できます。StageWebView以下は、 (HTMLLoader同じイベントを持つ)内の長いリストをレンダリングし、それに関する詳細とともにクリックイベントを取得する私のプログラムからの抜粋です。

webView.addEventListener(LocationChangeEvent.LOCATION_CHANGE, onWebLocationUpdate, false, 0, true);
webView.addEventListener(LocationChangeEvent.LOCATION_CHANGING, onWebLocationUpdate, false, 0, true);

protected function onWebLocationUpdate(e:LocationChangeEvent):void
{
   trace(e);
    //JS->AS
    if (e.location.indexOf("message://") != -1)
    {
        var jsonString:String = e.location.substr("message://".length);
        var myObject:Object = JSON.parse( jsonString );
        for (var name:String in myObject)
        {
            trace(name + ":" + myObject[name]);
        }
        e.preventDefault();
    }
}

JS

jQuery(document).ready(function() {
    // do something here
    //alert("Ready");
    $(".rowItem").click(function(e)
    {
        $(this).toggleClass("rowItemSelected");
        $(this).bridgeSend($(this).attr("id"),$(this).hasClass("rowItemSelected"));
    });
});

(function( $ ){
    $.fn.bridgeSend = function(id, selected)
    {
        var method = "select";
        var json = "{\"item\":{\"selected\":"+selected+",\"name\":\""+id+"\"},\"method\":\""+method+"\"}";
        window.location = "message://"+json;
    };
})( jQuery );

HTML

    <div class="rowItem" id="entry2">
        <div class="top">
            <div class="icon"><img src="css/clock.png" /></div>
            <div class="date"><h3>Fri, 04-09-2010</h3></div>
        </div><!-- end of the top -->
        <div class="desc">
            <p><strong>Title</strong></p>
            <p>The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English.</p>
        </div><!-- end of the desc -->
        <div class="times">
            <div class="col1">09:00</div>
            <div class="col2">09:30</div>
            <div class="col3">0.50</div>
        </div>
    </div><!-- end of the rowItem -->
于 2013-03-20T08:19:14.377 に答える