2013-12-16 84 views
0

我有一個文本框從xml中的隨機節點加載動態文本。其中一些節點包含超鏈接。我想使用StageWebView而不是打開瀏覽器iOS

下面是我使用的設置和加載的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。有沒有辦法停止應用程序切換到瀏覽器打開鏈接?

感謝 丹尼爾

+0

你有沒有想過這個?如果沒有,你可以發佈你的'onError','onChanging'和'onComplete'聽衆嗎? – Brian

回答

0

你可以嘗試這樣的:

function onChanging(event:LocationChangeEvent):void 
{ 
    //prevents the loading of the new URL 
    event.preventDefault(); 
    //open safari/external browser 
    navigateToURL(new URLRequest(event.location)); 
} 
0

我沒有在我的代碼的URLRequest /的URLLoader功能,所以我在哪裏可以放置e.preventDefault()?

我認爲這是因爲我點擊超鏈接文本時打開瀏覽器的XML文本的錨定標記。

相關問題