Javascript AdobeAIR HTML启动屏幕
我有一个内置HTML/JavaScript的AdobeAIR应用程序 XML如下所示:Javascript AdobeAIR HTML启动屏幕,javascript,jquery,air,adobe,Javascript,Jquery,Air,Adobe,我有一个内置HTML/JavaScript的AdobeAIR应用程序 XML如下所示: <?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://ns.adobe.com/air/application/4.0"> <id>examples.html.HelloWorld</id> <versionNumber>0.1</versionNum
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/4.0">
<id>examples.html.HelloWorld</id>
<versionNumber>0.1</versionNumber>
<filename>HelloWorld</filename>
<initialWindow>
<title>Hello World</title>
<content>HelloWorld.html</content>
<visible>false</visible>
<minimizable>true</minimizable>
<maximizable>false</maximizable>
<resizable>false</resizable>
<width>800</width>
<height>600</height>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
</initialWindow>
</application>
我对这种方法的疑问是:
$(window).load(function () {
loaded = true;
});
function appLoaded()
{
if(loaded)
{
// Hide splash
window.nativeWindow.close();
// Activate the initial Window
window.nativeWindow.activate();
}
else
{
appLoaded(); // keep checking until the loaded becomes true
}
}
上述代码的一个问题是,appload函数可能会运行数百次。有没有解决这个问题的建议?因为我想确保只有在应用程序加载且飞溅出现后,飞溅才会隐藏。我做了类似的事情,但采用了另一种方法:
- 我没有为启动屏幕打开第二个窗口,而是将启动屏幕的内容放在index.html中的一个div中,并将其放在实际内容之前
- 我将初始宽度和高度设置为初始屏幕尺寸
- 在应用程序完全加载之后,我从DOM中删除了闪屏div,并将宽度和高度设置为应用程序度量
// Create a new window that will become the splash screen
var options = new air.NativeWindowInitOptions();
options.systemChrome = air.NativeWindowSystemChrome.STANDARD;
options.transparent = false;
// Add content to new window
var htmlLoader = air.HTMLLoader.createRootWindow(false, options, false);
htmlLoader.window.nativeWindow.width = 300;
htmlLoader.window.nativeWindow.height = 500;
htmlLoader.window.nativeWindow.visible = true;
htmlLoader.load(new air.URLRequest('splash.html'));
关闭新的启动屏幕(如何选择要关闭的窗口)
加载时显示正确的初始屏幕(如何选择正确的窗口)
酷,我也可以试试。但是对于学习经验,你能帮我修正我选择的方法吗?简而言之,如何选择要关闭并使其可见的窗口。以及使用JavaScript加载内容的正确代码。谢谢。那么请给我一份清单,列出你的申请应该处理的任务,或者换句话说,什么时候会发生。很抱歉,我无法从您的代码中获取它。:)XML文件通过将visible设置为false来隐藏初始窗口。然后,JavaScript代码应该创建一个新窗口,并将splash.html内容添加到其中。使用jQuery
load()
完成加载后,它应该隐藏启动窗口,然后使主窗口可见。Okies尝试了您的代码。当前发生的情况是,我看到启动窗口出现,但内容直到加载的函数在true上运行后才出现。然后,启动屏幕保持不变,不会关闭以显示初始窗口。似乎是我使用的已加载循环导致应用程序暂停。有什么想法吗?这种情况下air.window是错误的。很抱歉只需要窗口,本地窗口
// Create a new window that will become the splash screen
var options = new air.NativeWindowInitOptions();
options.systemChrome = air.NativeWindowSystemChrome.STANDARD;
options.transparent = false;
// Add content to new window
var htmlLoader = air.HTMLLoader.createRootWindow(false, options, false);
htmlLoader.window.nativeWindow.width = 300;
htmlLoader.window.nativeWindow.height = 500;
htmlLoader.window.nativeWindow.visible = true;
htmlLoader.load(new air.URLRequest('splash.html'));
// That is your splash screen
htmlLoader.window.nativeWindow.close();
// This is your main window
window.nativeWindow.visible = true;