Adobe Air,无法在新窗口中打开html内容

问题描述

尽管非常努力,但仍无法解决此问题,因此将其发布在这里

正如标题所述,我有一个Adobe air桌面应用程序,当我单击一个按钮时,我想显示来自远程服务器的一个html内容

我尝试了两种方法,即HtmlLoader和StageWebView。这些正在打开一个新窗口,但不显示html内容

我的示例html文件-

<!DOCTYPE html>
<html>
<body>
<h1>My First heading</h1>
<p>My first paragraph.</p>
</body>
</html>

动作脚本代码-

var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
windowOptions.systemChrome = NativeWindowSystemChrome.STANDARD;
windowOptions.type = NativeWindowType.norMAL;
var newWindow:NativeWindow = new NativeWindow(windowOptions);
newWindow.stage.scaleMode = StageScaleMode.NO_SCALE;
newWindow.stage.align = StageAlign.TOP_LEFT;
newWindow.activate();

var htmlLoader:HTMLLoader = new HTMLLoader();
htmlLoader.width = newWindow.stage.stageWidth;
htmlLoader.height  = newWindow.stage.stageHeight;
var request:URLRequest = new URLRequest(url);
htmlLoader.load(request);
newWindow.stage.addChild(htmlLoader);

但是htmlLoader没有显示内容。甚至我尝试了异步方法-

htmlLoader.addEventListener(Event.COMPLETE,onComplete);

但即使那样也没有内容

我尝试过使用here所述的StageWebView,但即使是同样的问题!

var webView:StageWebView = new StageWebView();
webView.stage = this.stage;
webView.viewPort = new Rectangle( 0,stage.stageWidth,stage.stageHeight );
webView.loadURL(url);

我遍历了here中提到的所有示例,不知道是否应该尝试其他任何替代方法

如何解决此问题?

谢谢。

解决方法

我最近为MacOS和Windows构建了AIR桌面应用程序,并且遇到了StageWebView的许多问题。我最终使用了ANE。

Tuarua Webview ANE

关于上面的代码:

  • 未设置url变量。

  • 将宽度和高度设置为硬编码整数,以确保宽度或高度未设置为0

  • 首先使用受信任的URL(例如www.google.com)进行测试,以排除您自己的服务器出现的问题。