Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AdobeAIR HTML启动屏幕_Javascript_Jquery_Air_Adobe - Fatal编程技术网

Javascript AdobeAIR HTML启动屏幕

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

我有一个内置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</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>
我对这种方法的疑问是:

  • 如何为初始屏幕提供内容(我添加了一些代码来创建一个窗口并加载到splash.html页面中,但由于我认为代码是ActionScript而不是JavaScript,所以当前出现了中断)
  • 关闭新的启动屏幕(如何选择要关闭的窗口)
  • 加载时显示正确的初始屏幕(如何选择正确的窗口)
  • 我从以下几点开始:

    $(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,并将宽度和高度设置为应用程序度量
    更新

    如何为初始屏幕提供内容(我添加了一些代码来创建一个窗口并加载到splash.html页面中,但由于我认为代码是ActionScript而不是JavaScript,所以它现在中断了)

    第一:没有动作脚本。它是JavaScript,但您必须以正确的方式使用它。你错过了空气。表示空气的库对象

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