2011-04-27 60 views
1

在Adobe Air項目(html/javascript)的默認瀏覽器中導航到Url時存在問題。Adob​​e AIR(html/javascript):navigateToUrl的窗口參數不起作用

air.navigateToUrl(request, windowName)啓動瀏覽器並顯示頁面,但會爲每個請求顯示一個新選項卡。

這裏是再現問題的新AIR應用程序的主網頁很簡單的例子:

<html> 
    <head> 
     <title>navigateToURLTest</title> 
     <script type="text/javascript" src="lib/air/AIRAliases.js"></script>   
    </head> 
    <body>  
     <a href="#" onclick="javascript:air.navigateToURL(new air.URLRequest('http://www.adobe.com'), 'TestWindow');return false;">Same Tab</a> 
    </body> 
</html> 

我怎麼能在同一個窗口/選項卡中打開的網址是什麼?

+0

我看起來像在空氣中的錯誤,但必須有一個變通。任何想法 – Karel 2011-05-04 18:55:44

回答

0

你應該有兩個你的錨對指定同一個目標:

<html> 
    <head> 
     <title>navigateToURLTest</title> 
     <script type="text/javascript" src="lib/air/AIRAliases.js"></script> 
    </head> 
    <body> 
     <a href="http://www.google.com" target="testp" 
      onclick="javascript:air.navigateToURL(new air.URLRequest('http://www.adobe.com'), 
      'TestWindow');return false;">New Tab</a> 
     <br /> 
     <a href="http://www.adobe.com" target="testp" 
      onclick="javascript:air.navigateToURL(new air.URLRequest('http://www.adobe.com'), 
      'TestWindow');return false;">Same Tab</a> 
    </body> 
</html> 

如果使用名稱"testp"沒有窗口在當前選項卡的列表被打開,它會打開一個新標籤,如果你已經有了它,那麼它會被改變。

+0

@rekaszeru:謝謝。我添加了_blank目標來顯示Air中可用的兩種可用方法(沒有將目標指定爲默認值_blank)。 – Karel 2011-04-28 06:17:59

+0

@rekaszeru:當我用指定的窗口參數在錨點上多次點擊時會出現問題。 (或者在你的代碼中,當我點擊這兩個鏈接時,我會打開兩個標籤。 – Karel 2011-04-28 06:20:49

+0

因此你必須在每次目標時指定,這樣就可以確保鏈接將在同一個標​​籤(窗口)中打開。出現了什麼問題? – rekaszeru 2011-04-28 06:24:14

0

此代碼的工作對我來說:

navigateToURL(new URLRequest("http://www.adobe.com"), '_self'); 

應用到你的代碼:

<html> 
<head> 
    <title>navigateToURLTest</title> 
    <script type="text/javascript" src="lib/air/AIRAliases.js"></script> 
</head> 
<body> 
    <a href="#" onclick="air.navigateToURL(new air.URLRequest('http://www.adobe.com'),'TestWindow');return false;">Same Tab</a> 
</body> 
</html> 

請注意兩件事情, rekaszeru增加了在href(一個鏈接,不應該存在。 ..同樣與目標=) 第二,onclick事件不需要「JavaScript的:」

+0

@Rephael:那正是我所做的。那對你有用嗎?不適合我。 (在Aptana Studio中調試)。 – Karel 2011-05-11 21:15:22

+0

我剛剛在Flash Builder(ActionScript)中創建了相同的Air應用程序。同樣的問題。 – Karel 2011-05-11 22:53:03

+0

只是一個評論,我會有href =「javascript:void();」因爲我討厭哈希符號(它跳轉到頁首) – Dementic 2011-05-12 13:02:42