XMLのランダムノードから動的テキストをロードするテキストフィールドがあります。これらのノードの一部には、ハイパーリンクが含まれています。
以下は、タップしたテキストにURLがある場合、StageWebViewをセットアップしてロードし、リンクに移動するために使用しているコードです
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.media.StageWebView;
import flash.geom.Rectangle;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
var webView:StageWebView;
var swvRect:Rectangle;
var swvHeight:Number;
var swvY:Number;
var linkURL:String;
storyTxt.addEventListener(MouseEvent.CLICK, linkClicked);
function linkClicked(e:MouseEvent):void {
var idx:int = e.target.getCharIndexAtPoint(e.localX, e.localY);
trace("Tapped:",idx);
var tf:TextFormat = e.target.getTextFormat(idx);
if(tf.url != "" && tf.url != null) {
linkURL = tf.url;
trace(linkURL);
if(webView!=null){
return;
}
webView=new StageWebView();
webView.stage=this.stage;
webView.viewPort=new Rectangle(0,swvY,stage.stageWidth,swvHeight);
webView.addEventListener(ErrorEvent.ERROR,onError);
webView.addEventListener(LocationChangeEvent.LOCATION_CHANGING,onChanging);
webView.addEventListener(Event.COMPLETE,onComplete);
webView.loadURL(linkURL);
}
}
リンクのあるテキストをタップすると、モバイルのブラウザ [Safari] と StageWebView の両方が開きます。アプリがブラウザに切り替わってリンクを開くのを止める方法はありますか?
ありがとうダニエル