如何检测浏览器是否支持离线事件?

时间:2014-08-13 11:18:32

标签: javascript html5 javascript-events

' ave尝试使用此问题的代码:How to detect `focusin` support?

但对于支持offline事件hasEvent('offline')的铬返回false。有人知道如何在JavaScript中检测离线/在线事件吗?

3 个答案:

答案 0 :(得分:0)

尝试:

return !!window.applicationCache;

如果我理解你的问题,你也可以阅读this article

修改

基本上你可以使用以下功能:

function reportConnectionEvent(e)
{
    if (!e) e = window.event;

    if ('online' == e.type) {
        alert( 'The browser is ONLINE.' );
    }
    else if ('offline' == e.type) {
        alert( 'The browser is OFFLINE.' );
    }
    else {
        alert( 'Unexpected event: ' + e.type );
    }
}
window.onload = function() {
    document.body.ononline = reportConnectionEvent;
    document.body.onoffline = reportConnectionEvent;
}  

您也可以查看演示http://html5demos.com/offline-events

答案 1 :(得分:0)

你可以尝试

'onoffline' in window

'onoffline' in document.body

答案 2 :(得分:0)

似乎在线和离线事件都是从正文和起泡开始的,因此您无法使用div来检测它。但是我已经创建了这段代码:

var body = document.getElementsByTagName('body')[0];
body.setAttribute('ononline', 'return;')
typeof body.ononline == 'function';