online/offline イベントが documentdocument.body 上で発生しなくなりました

公開日: | カテゴリー: DOM, HTML

概要

従来、online および offline イベントdocument.body 上で発生し、documentwindow へ浮上していましたが、これは現行の HTML 仕様によれば誤りでした。Firefox 61 でこの非標準の挙動が修正され、それらのイベントは window 上でのみ発生するようになりました。なお、<body> 要素上の ononline および onoffline 属性は有効であり、引き続き使用可能です。

// 非推奨
document.body.addEventListener('online', ...);
document.body.addEventListener('offline', ...);
document.addEventListener('online', ...);
document.addEventListener('offline', ...);

// 推奨
window.addEventListener('online', ...);
window.addEventListener('offline', ...);

参考資料