Windows 8 如何检查Windows 8 Store HTML/JS应用程序中的多个页面是否具有Internet连接?
在主页中,我使用registerForNetworkStatusChangeNotif()函数()注册网络通知更改。该函数添加了一个事件侦听器networkstatuschanged,仅此页面就可以正常工作,即连接中断时会显示错误,恢复连接时会自动刷新页面- var networkInfo=Windows.Networking.Connectivity.NetworkInformation; ... networkInfo.addEventListener(“networkstatuschange”,onNetworkStatusChange) 我应该如何处理其他页面的Internet可用性检查Windows 8 如何检查Windows 8 Store HTML/JS应用程序中的多个页面是否具有Internet连接?,windows-8,winjs,Windows 8,Winjs,在主页中,我使用registerForNetworkStatusChangeNotif()函数()注册网络通知更改。该函数添加了一个事件侦听器networkstatuschanged,仅此页面就可以正常工作,即连接中断时会显示错误,恢复连接时会自动刷新页面- var networkInfo=Windows.Networking.Connectivity.NetworkInformation; ... networkInfo.addEventListener(“networkstatuschang
我已尝试在default.js中注册此函数,以便它可用于所有页面。我的应用程序使用地理定位功能,statuschanged事件与networkstatuschanged事件冲突,我的应用程序无法显示Internet连接丢失错误。如何解决此问题,以便正确处理Internet连接不可用的问题。我希望自动页面“刷新”是由于数据绑定造成的。要获得更多控制,您需要绑定到“就绪”页上的网络对象,然后在“卸载”页上再次解除绑定。例如:
var networkInfo = Windows.Networking.Connectivity.NetworkInformation;
this.networkHandler = this._doSomething();
...
..
ready: function(element, options)
{
networkInfo.addEventListener(this.networkHandler);
...
..
}
unload: function()
{
networkInfo.removeEventListener(this.networkHandler);
...
..
}
_doSomething : function(event)
{
// Examine the 'event' object and perform 'refresh' accordingly
// Most likely a call to WinJS.Binding.processAll(...)
}
然后,您只需要定义处理程序方法“\u doSomething()”来检查“event”对象传递的连接细节,并相应地触发绑定/刷新逻辑
希望这有帮助 您需要收听特定事件。当它开火时,你检查互联网连接
var networkInformation = Windows.Networking.Connectivity.NetworkInformation;
...
ready: function(element, options)
{
// Registering for connection change
networkInformation.addEventListener("networkstatuschanged", this.onNetworkStatusChanged);
...
}
unload: function()
{
// Unregistering for connection change
networkInformation.removeEventListener("networkstatuschanged", this.onNetworkStatusChanged);
...
}
onNetworkStatusChanged: function(eventArgs)
{
// Retrieve the InternetConnectionProfile
var internetConnectionProfile = networkInformation.getInternetConnectionProfile();
// Accesses the NetworkConnectivityLevel
var networkConnectivityLevel = internetConnectionProfile.getNetworkConnectivityLevel();
// Switch on NetworkConnectivityLevel
switch (networkConnectivityLevel) {
case Windows.Networking.Connectivity.NetworkConnectivityLevel.none:
...
case Windows.Networking.Connectivity.NetworkConnectivityLevel.localAccess:
...
case Windows.Networking.Connectivity.NetworkConnectivityLevel.constrainedInternetAccess:
...
case Windows.Networking.Connectivity.NetworkConnectivityLevel.internetAccess:
...
}
...
}
能否提供更多的上下文来了解如何添加此事件侦听器?你把它移走了吗?