sindresorhus / screenfull

Simple wrapper for cross-browser usage of the JavaScript Fullscreen API
https://sindresorhus.com/screenfull
MIT License
7.08k stars 698 forks source link

Support running on server environments (#199) #208

Closed MajorBreakfast closed 2 years ago

MajorBreakfast commented 2 years ago

SSR (server-side rendering) is popular these days. Currently it is difficult to import screenful in SvelteKit because the same code is executed both in the browser and on the server. However, screenfull currently errors if document does not exist. Hence, one has to fiddle around to ensure that it is only imported when running in the browser. I assume that this also applies to other SSR solutions like Next.js.

This PR makes it so that screenfull doesn't error on import if document is undefined. If run on the server, screenful doesn't do anything of course (but that's fine :).

Until this PR is merged, I can use version 5.2.0 which supported this use case. That said, it'd be nice to see it return in the newest version.


Fixes #199

MajorBreakfast commented 2 years ago

I've upgraded to the latest version and it works great. Thanks! 🎉