尽管我非常努力,但还是无法解决这个问题,因此将其发布在这里。
正如标题所说,我有一个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
(进行测试,以排除您自己的服务器出现的问题。