gpt4 book ai didi

javascript - AIR HTMLLoader window.open 不起作用

转载 作者:行者123 更新时间:2023-11-28 09:49:48 26 4
gpt4 key购买 nike

我有一个用 Flex 开发的 Web 项目,我必须使用 AIR 使其独立工作。

我创建了 Air 项目并使用 flash.html.HTMLLoader 加载了 Web 应用程序。内容加载正常并且工作正常。

有几个按钮可以使用 javascript 函数 window.open 打开不同的链接。

链接无法打开。 javascript 函数正在使用ExternalInterface 进行调用,并且我在显示的函数中放置了警报。

该函数包含简单的window.open

window.open("http://www.google.co.in","Google");

我尝试了提到的几种解决方案,但没有一个有效。

http://digitaldumptruck.jotabout.com/?p=672
http://soenkerohde.com/2008/09/air-html-with-_blank-links/
http://cookbooks.adobe.com/index.cfm?event=showdetails&postId=9243

我什至尝试使用 window.open 方法在 HTMLLoader 组件中加载一个简单的页面,但它仍然不起作用。单击按钮时,只有警报有效,但 window.open 未打开链接。

<html>
<head>
<title>Test</title>
<body scroll="no">
<input type="button" value="Click" onClick="window.open('http://www.google.co.in');">
</body>
</html>

有人可以帮我吗

最佳答案

这是一个激进的建议,可能有效也可能无效,但我认为值得一试。

重写window.open方法本身

和以前一样,等到 Event.COMPLETE 被触发,然后从那里获取它:

var html:HTMLLoader = new HTMLLoader();
var urlReq:URLRequest = new URLRequest("whatever.html");
var oldWindowOpen:Object; // save it, just in case

html.load(urlReq);

html.addEventListener(Event.COMPLETE,
function (event:Event):void {
oldWindowOpen = html.window.open;

html.window.open = asWindowOpen;
});

function asWindowOpen(href:String, name:String="_blank", specs:Object=null, replace:Object=null):void {
var urlReq = new air.URLRequest(href);
air.navigateToURL(urlReq);
}

您可能应该填写一些函数来处理 W3Schools Reference for Window open() Method 中指定的其他输入。 。为了安全起见,您可能必须(或想要)将所有参数类型更改为 Object,因为与ExternalInterface 交互不同,JavaScript-ActionScript 类型不会在 AIR-WebKit 交换中自动进行类型转换.

关于javascript - AIR HTMLLoader window.open 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218978/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com