gpt4 book ai didi

javascript - 互联网连接错误消息 - 使用 Javascript 的 Windows 8 应用程序

转载 作者:行者123 更新时间:2023-11-28 16:09:25 25 4
gpt4 key购买 nike

我正在尝试为我的应用程序添加一个基本检测脚本,以允许它在调用 WinJS.xhr 失败时显示错误消息。

我让每个 WinHS.xhr 都调用以下函数 onerror(使用 .done() 的第二个参数),并且该部分工作得很好。

function connectionError() {
var msg = new Windows.UI.Popups.MessageDialog("There was a connection error while trying to access online content. Please check your internet connection.");

// Add commands and set their CommandIds
msg.commands.append(new Windows.UI.Popups.UICommand("Retry", null, 1));

// Set the command that will be invoked by default
msg.defaultCommandIndex = 1;

// Show the message dialog
msg.showAsync();
}

当我显示对话框时出现问题。由于某些奇怪的原因,我在尝试显示对话框时收到“访问被拒绝”错误消息。我检查了该消息的含义,如果我理解正确的话,它似乎是某个地方未完成的 promise ,尽管我看不到任何方法将其应用于我的情况。

感谢有关此错误的任何帮助!

最佳答案

您在这里面临的问题是您无法将多个消息对话框堆叠在一起 - 例如,您一次只能显示一个。我使用以下代码在我的应用程序中解决了这个问题:

    (function () {
var alertsToShow = [];
var dialogVisible = false;

function showPendingAlerts() {
if (dialogVisible || !alertsToShow.length) {
return;
}

dialogVisible = true;
(new Windows.UI.Popups.MessageDialog(alertsToShow.shift())).showAsync().done(function () {
dialogVisible = false;
showPendingAlerts();
})
}
window.alert = function (message) {
if (window.console && window.console.log) {
window.console.log(message);
}

alertsToShow.push(message);
showPendingAlerts();
}
})();

这会将它们排队并连续一个接一个地显示它们。显然这不适用于您的情况,但这应该是一个很好的起点。 :)

关于javascript - 互联网连接错误消息 - 使用 Javascript 的 Windows 8 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13554707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com