Closing as can't fix: our code is very simple. We just listen for events the browser fires, and it seems in some cases it's the browser that isn't firing events, rather than Construct 2's code. I've read that browser makers seem to be in disagreement as to what "offline" and "online" really mean, so it may be that the feature is currently broken in browsers.
It definitely works if you use Firefox and select 'Work offline'. That indicates at least our code is working correctly; I think it must be browser bugs that they don't fire the online/offline events according to network connectivity for some reason.