首页 > 解决方案 > 如何修复“输入意外结束”错误

问题描述

我已经查看了有关此错误的其他几个问题,但其中的解决方案都没有奏效。我正在使用教科书,它让我从网站复制代码并将其粘贴到脚本标签中(它没有说将其粘贴到脚本标签中,它只是说将其粘贴到 HTML 文档中)。我在以下代码的结束脚本标记处不断收到“语法错误:输入意外结束”:

<script>
            (function () {
                "use strict";

                var app = WinJS.Application;
                var activation = Windows.ApplicationModel.Activation;

                app.onactivated = function (args) {
                    if (args.detail.kind === activation.ActivationKind.launch) {

                        args.setPromise(WinJS.UI.processAll().
                            done(function () {

                            }));
                    }
                };
            (function () {
                "use strict";

                var app = WinJS.Application;
                var activation = Windows.ApplicationModel.Activation;

                app.onactivated = function (args) {
                    if (args.detail.kind === activation.ActivationKind.launch) {

                        args.setPromise(WinJS.UI.processAll().
                        done(function () {

                        // Add an event handler to the button.
                        document.querySelector("#requestPosition").addEventListener("click",
                            requestPosition);

                        }));
                    }
                };

                var nav = null;

                function requestPosition() {
                    if (nav == null) {
                        nav = window.navigator;
                    }

                    var geoloc = nav.geolocation;
                    if (geoloc != null) {
                        geoloc.getCurrentPosition(successCallback, errorCallback);
                    }

                }

                function successCallback(position) {
                    document.getElementById("latitude").innerHTML =
                        position.coords.latitude;
                    document.getElementById("longitude").innerHTML =
                        position.coords.longitude;

                }

                function errorCallback(error) {
                    var strMessage = "";

                    // Check for known errors
                    switch (error.code) {
                        case error.PERMISSION_DENIED:
                            strMessage = "Access to your location is turned off. " +
                                "Change your settings to turn it back on.";
                            break;
                        case error.POSITION_UNAVAILABLE:
                            strMessage = "Data from location services is " +
                                "currently unavailable.";
                            break;
                        case error.TIMEOUT:
                            strMessage = "Location could not be determined " +
                                "within a specified timeout period.";
                            break;
                        default:
                            break;
                    }

                    document.getElementById("status").innerHTML = strMessage;
                }

                app.start();
            }()
        </script>

这是最后一章,只是练习的第一部分,因此感谢您的帮助。我之前尝试过的事情包括在 JavaScript 末尾添加另一个括号,但这导致了不同的错误。如果有帮助,请参阅 MTA HTML5 工作簿第 10 课

标签: javascripthtml

解决方案


您重复了 javascript 代码的第一部分,并且缺少关闭函数声明的“)”;

(function() {
"use strict";

var app = WinJS.Application;
var activation = Windows.ApplicationModel.Activation;

app.onactivated = function(args) {
  if (args.detail.kind === activation.ActivationKind.launch) {
    args.setPromise(
      WinJS.UI.processAll().done(function() {
        // Add an event handler to the button.
        document
          .querySelector("#requestPosition")
          .addEventListener("click", requestPosition);
      })
    );
  }
};

var nav = null;

function requestPosition() {
  if (nav == null) {
    nav = window.navigator;
  }

  var geoloc = nav.geolocation;
  if (geoloc != null) {
    geoloc.getCurrentPosition(successCallback, errorCallback);
  }
}

function successCallback(position) {
  document.getElementById("latitude").innerHTML = position.coords.latitude;
  document.getElementById("longitude").innerHTML = position.coords.longitude;
}

function errorCallback(error) {
  var strMessage = "";

  // Check for known errors
  switch (error.code) {
  case error.PERMISSION_DENIED:
    strMessage =
      "Access to your location is turned off. " +
      "Change your settings to turn it back on.";
    break;
  case error.POSITION_UNAVAILABLE:
    strMessage =
      "Data from location services is " + "currently unavailable.";
    break;
  case error.TIMEOUT:
    strMessage =
      "Location could not be determined " +
      "within a specified timeout period.";
    break;
  default:
    break;
}

document.getElementById("status").innerHTML = strMessage;
}

app.start();
})();

推荐阅读