For supporting legacy browsers you need to fall back to polling unfortunately.<p>A better option than repeated requests every X seconds (or X times per second) is long polling (see <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Push_technology" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Push_technology</a> for brief notes and your preferred search engine for many examples). You can only do this if you control the back-end (so can dictate its API) or the API you are using explicitly supports long polling, of course.<p>There are a number of libraries out there that try to wrap the different methods into one so you don&#x27;t have to worry about compatibility, using the more efficient websockets where possible, falling back to long-poll where not, and sometimes other methods in between (integrating a little bit of flash for instance). <a href="http:&#x2F;&#x2F;socket.io&#x2F;" rel="nofollow">http:&#x2F;&#x2F;socket.io&#x2F;</a> is probably the best know of these.