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);

但即便如此也没有内容!

我试过使用StageWebView,如本文所述,但即使在那时也出现了同样的问题!

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

我看了这里提到的所有例子,不知道是否应该尝试其他方法。

如何解决此问题?

谢谢。

我最近为MacOS和Windows构建了一个AIR桌面应用程序,在StageWebView方面遇到了很多问题。我最后使用了ANE。

Tuarua Webview ANE

关于上面的代码:

  • 没有设置url变量。

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

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

最新更新