Search code examples
javascripthtmlember.jsfullscreenhtml5-history

Ember.js History with Fullscreen API


It is possible to use History API with Ember.js, simply by:

App.Router.reopen
  location: 'history'

But when operating in a fullscreen, any URL modifications breaks fullscreen mode in Chrome (it's well-known bug https://code.google.com/p/chromium/issues/detail?id=171670).

Is it possible to queue History API changes in EmberJS, and fire all of them only when the app exits the fullscreen?

P.S. Looks like YouTube do the same – you can watch multiple consecutive videos in the fullscreen, and URL stays the same just until you exit the fullscreen mode.


Solution

  • You can probably do this by reopening Ember.HistoryLocation. I would try to modify the method pushState to queue paths when in fullscreen. On exiting fullscreen call the pushState method manually with the queued paths.

    Source code for Ember.HistoryLocation