Adob​​e AIR(html/javascript):navigateToUrl的窗口参数不起作用

问题描述:

在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

你应该有两个你的锚对指定同一个目标:

<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

此代码的工作对我来说:

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