AdobeAIR(html/javascript):navigateToUrl';s窗口参数不工作
在Adobe Air项目(html/javascript)的默认浏览器中导航到Url时出现问题AdobeAIR(html/javascript):navigateToUrl';s窗口参数不工作,javascript,html,navigation,air,Javascript,Html,Navigation,Air,在Adobe Air项目(html/javascript)的默认浏览器中导航到Url时出现问题 air.navigateToUrl(请求,窗口名)启动浏览器并显示页面,但它会为每个请求显示一个新选项卡 下面是一个新的Air应用程序中主页的非常简单的示例,该应用程序再现了该问题: <html> <head> <title>navigateToURLTest</title> <script type="te
air.navigateToUrl(请求,窗口名)
启动浏览器并显示页面,但它会为每个请求显示一个新选项卡
下面是一个新的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>
导航测试
如何在同一窗口/选项卡中打开url?您应该让两个锚点指定相同的目标:
<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”的窗口,它将打开一个新选项卡,如果您已经有了,那么它将被更改。此代码适用于我:
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中添加了一个链接(该链接不应该存在……与target=相同)
其次,onclick事件不需要“javascript:”@rekaszeru:谢谢。我添加了_blanktarget只是为了显示Air中可用的两种可能的方法(没有指定的target默认为_blank)。@rekaszeru:当我使用指定的窗口参数多次单击锚点时,就会出现问题。(或者在您的代码中,当我单击两个链接时,会打开两个选项卡。因此,您必须每次指定目标,这样您就可以确保链接将在同一选项卡(窗口)中打开。)。出现了什么问题?问题是链接总是在新窗口中打开。使用Chrome作为默认浏览器,IE作为默认浏览器进行了尝试。我尝试了调试Air(在Aptana studio中),但也是在完全安装HTML/Javascript Air应用程序之后。Adobe文档声明两者均为“\u self”并且可以使用命名的窗口参数。但是命名的窗口参数不起作用。因此,您的问题是打开了一个新窗口,而不是一个新选项卡?这应该在浏览器设置中进行更正。否则,上面的代码(即使将
href
属性更改为“#”)也不起作用做它应该做的,搜索“testp”选项卡/窗口,并打开其中的链接。我看起来像一个空气中的bug,但必须有一个解决方法。有没有idea@Rephael:这正是我所做的。这对你有效吗?对我无效。(在Aptana Studio中调试)。我刚刚在Flash Builder(ActionScript)中创建了相同的Air应用程序。同样的问题。只是一个评论,我会href=“javascript:void();”因为我讨厌哈希符号(它跳到页面顶部),你注意到我更改了我的答案吗?@Rephael:对不起,没有注意到。我希望StackOverflow立即发送通知!!(和唤醒电话)。我会尽快尝试。不过,有一件事是“\u self”ref对我也有效;windows参数无效。但我将尝试“应用于您的代码部分”。