FuseJS executes in a (minimal) EcmaScript 5.1 environment on all supported platforms. Because there is no web browser involved, FuseJS provides polyfills for some browser functionality required in order to make third party libraries work. These implementations are not necessarily complete at this point, so please report any bugs and feature requests in the forum. If you don't want these polyfills injected by default, contact us and we will help you change your project file.

Currently supported polyfills

  • fetch - The preferred way of doing HTTP requests ( MDN docs )
  • XMLHttpRequest - API providing more functionality on data transfer to and from a server ( MDN docs )
  • Promise - Very common concept in async JavaScript programming. We conform to the A+ promise standard
  • setTimeout / clearTimeout - Schedules a function to be run in the future ( MDN docs )
  • setInterval / clearInterval - Schedules a function to be run in intervals ( MDN docs )
  • localStorage - Perisistent local storage ( MDN docs )
  • atob / btoa - Encodes data to and from base64 ( MDN docs )
  • FileReader - Allows JavaScript to load the contents of files ( MDN docs )
  • EventTarget - Allows JavaScript to listen to events ( MDN docs )
  • WebSocket - API for the WebSocket protocol. ( MDN docs )