Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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 将“关于”按钮添加到“设置”对话框_Javascript_Windows 8_Winjs_Charms Bar - Fatal编程技术网

Javascript 将“关于”按钮添加到“设置”对话框

Javascript 将“关于”按钮添加到“设置”对话框,javascript,windows-8,winjs,charms-bar,Javascript,Windows 8,Winjs,Charms Bar,我想添加关于按钮(可能是链接)的设置魅力。 但我不想在设置中显示内容,我需要在应用程序中导航About.html页面。 应用程序设置示例对我没有帮助。有没有办法做到这一点? 我需要用JavaScript和HTML来实现这一点;) 目前我在default.js中添加了下面的代码 app.onactivated = function (eventObject) { if (eventObject.detail.kind === Windows.ApplicationModel.Ac

我想添加关于按钮(可能是链接)的设置魅力。 但我不想在设置中显示内容,我需要在应用程序中导航About.html页面。 应用程序设置示例对我没有帮助。有没有办法做到这一点? 我需要用JavaScript和HTML来实现这一点;)

目前我在default.js中添加了下面的代码

 app.onactivated = function (eventObject) {
        if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
            //WinJS.UI.disableAnimations();

            WinJS.Application.onsettings = function (e) {
                e.detail.applicationcommands = {
                    "about": {
                        title: "About", href:"/html/About.html"
                        }
                }
                WinJS.UI.SettingsFlyout.populateSettings(e);
                };
...
}
我在HTML文件夹下创建了一个HTML文件。下面是About.html的代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>About</title>

    <!-- WinJS references -->
    <script src="//Microsoft.WinJS.1.0/js/base.js"></script>
    <script src="//Microsoft.WinJS.1.0/js/ui.js"></script>


    <link rel="stylesheet" type="text/css" href="css/staticPages.css" />
    <script type="text/javascript" src="/js/navigator.js"></script>
    <script src="/js/jq-1.7.1.min.js" type="text/javascript"></script>
    <script type="text/javascript" src="/js/networkInfo.js"></script>
    <script src="/js/About.js" type="text/javascript"></script>
</head>
    <body>
    <div id="siluet" class="siluet">&nbsp;</div>
    <div id="contentDetay">
        <button id="backbutton" class="win-backbutton">
        </button>
        <img id="headLogo" src="/images/head_logo.png" alt="XYZ" />
        <progress id="progressRing"></progress>
        <div id="title"><h1 id="groupNameHeader">Group Name</h1><h1 id="pageTitle">Page Title</h1><div id="sectionSelectArrow">&nbsp;</div></div>
        <div id="menuPopUp">
            <select id="menuList" multiple="multiple"></select>
        </div>

        <div id="staticContainer"></div>
        <div id="noSnapView">
            <p>İçeriği görüntüleyebilmek için ekranı büyütün</p>
        </div>
    </div>
</body>

</html>
正如您所看到的,每个HTML元素在.js文件中都是未定义的;但我找不到原因。

详细介绍了如何在设置框中添加按钮

以下是一个让您开始学习的片段:

WinJS.Application.onsettings = function (e) {
    e.detail.applicationcommands = {
        "aboutDiv": { title: "About", href: "/html/About.html" }
    };
    WinJS.UI.SettingsFlyout.populateSettings(e);
};
详细介绍了如何在设置框中添加按钮

以下是一个让您开始学习的片段:

WinJS.Application.onsettings = function (e) {
    e.detail.applicationcommands = {
        "aboutDiv": { title: "About", href: "/html/About.html" }
    };
    WinJS.UI.SettingsFlyout.populateSettings(e);
};

这样更改代码可能会解决您的问题:

app.onactivated = function (eventObject) {
    if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
        //WinJS.UI.disableAnimations();

       var settingsPane = Windows.UI.ApplicationSettings.SettingsPane.getForCurrentView();
       settingsPane.addEventListener("commandsrequested", onCommandsRequested);

    // ...

}

function onSettingsCommand(){
    nav.navigate("html/about.html");
}

function onCommandsRequested(eventArgs){
    var settingsCommand = new Windows.UI.ApplicationSettings.SettingsCommand("about", About", onSettingsCommand);
    eventArgs.request.applicationCommands.append(settingsCommand);
}

这样更改代码可能会解决您的问题:

app.onactivated = function (eventObject) {
    if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
        //WinJS.UI.disableAnimations();

       var settingsPane = Windows.UI.ApplicationSettings.SettingsPane.getForCurrentView();
       settingsPane.addEventListener("commandsrequested", onCommandsRequested);

    // ...

}

function onSettingsCommand(){
    nav.navigate("html/about.html");
}

function onCommandsRequested(eventArgs){
    var settingsCommand = new Windows.UI.ApplicationSettings.SettingsCommand("about", About", onSettingsCommand);
    eventArgs.request.applicationCommands.append(settingsCommand);
}

是的,我找到了这个代码,但我无法使用它。这很奇怪,因为about.html的.js文件(about.js)被调用,但html元素无法从.js文件访问。每个控件的值都未定义。是的,我找到了此代码,但无法使用它。这很奇怪,因为about.html的.js文件(about.js)被调用,但html元素无法从.js文件访问。每个控件的值都是未定义的。