2011-04-13 35 views
2

我已經開發Adobe AIR應用程序,這將打開的HTML控制網站的cPanel。我意識到,這在同一個窗口中打開HTML控件打開鏈接,但它不會打開一個新的窗口,即鏈接打開其中有屬性(目標=「_空白)這樣的鏈接:AIR HTML控制問題(它不開放有屬性的目標=「_blank」鏈接)

<a href"" target="_blank"> Opens in new window </a>

我「已經搜索在谷歌大量的時間,但我有一個解決方案在這裏AIR HTML with 「_blank」Links,但它會打開一個在瀏覽器和其過多舊(SEP:2008)的鏈接。?所以,誰知道另一種簡單的方法來打開鏈接,請幫忙。我

+0

想要對這樣的鏈接做什麼,在同一個窗口中打開它們? – alxx 2011-04-14 05:40:08

+0

是的,如果它可能在同一窗口中。 – 2011-04-14 07:17:54

+0

嗨alxx,運氣好的話? – 2011-04-14 15:25:28

回答

2

我rewrited比如你發現改變錨點目標,現在鏈接在同一窗口中打開,但這種方法也有侷限性 - 只有靜態鏈接都是固定的,任何JS方法試圖鄰在新窗口中的筆連接將失敗。

<?xml version="1.0" encoding="utf-8"?> 
<mx:WindowedApplication 
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 
    initialize="init()"> 
<mx:Script> 
<![CDATA[ 
    private function init():void 
    { 
     html.htmlText = 
      "<html><body>" + 
      "<a href='http://adobe.com' target='_blank'>Adobe (blank)</a><br/>" + 
      "<a href='http://ixbt.com' target='_self'>iXBT (self)</a>" + 
      "</body></html>"; 
     html.addEventListener(Event.COMPLETE, onHTMLComplete); 
    } 

    private function onHTMLComplete(event:Event):void 
    { 
     var document:Object = html.domWindow.document; 
     for each (var anchor:Object in document.getElementsByTagName("a")) 
     { 
      if (anchor.hasOwnProperty("target")) 
      { 
       if (anchor.target == "_blank") 
       { 
        anchor.target = "_self"; 
       } 
      } 
     } 
    } 

]]> 
</mx:Script> 
    <mx:HTML id="html" width="100%" height="100%"/> 
</mx:WindowedApplication> 
+0

謝謝你alxx。這是正確的答案。 :) 再次感謝你。 – 2011-04-16 12:18:18

+0

嗨阿拉和Alxx:我又堅持了一個,其他的問題。如果HTML頁面分爲farmes,然後點擊幀的鏈接不重新加載頁面,如此完整的事件不會被觸發。所以任何與target =「_ blank」的鏈接都無法打開:(你能幫我解決這個問題嗎? – 2011-04-20 11:36:24

+0

alxx ......!你能幫我嗎? – 2011-04-20 22:51:01