javascript - 如何修复“输入意外结束”错误
问题描述
我已经查看了有关此错误的其他几个问题,但其中的解决方案都没有奏效。我正在使用教科书,它让我从网站复制代码并将其粘贴到脚本标签中(它没有说将其粘贴到脚本标签中,它只是说将其粘贴到 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 课
解决方案
您重复了 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();
})();
推荐阅读
- javascript - 如何停止移动 Divs 离开文档的长度?香草JS
- php - 正则表达式:显示所有电话号码
- c++ - c++ std::vector "this" 是 "nullptr"
- sql - SQL Server 中的百分比列
- python - 将字符串列表转换为整数 PYTHON
- dart - 如何通过更改下拉项来更新列表视图
- asp.net - 使用从 cpanel 下载的文件运行 mvc Web 应用程序
- ios - CollectionView:如何使位于视图中心的单元格的单元格大小更大?
- python - 拆分包含多个字典的列表
- xamarin - Xamarin.Android 相机触控对焦