It’s almost 2020, and browsers can do amazing stuff.
This repo contains a non-exhaustive list of less-known features implemented in browsers today.
This list isn’t intended for a technical audience; instead it wants to be a “I don’t know we could that in a browser” list.
In many cases, listed features aren’t yet part of the standard, and may only be available on certain browsers or configurations.
Many OS provides light or dark color theme (notably dark mode on macOS), websites can detect the preferred color scheme.
Similarly to dark mode, users in their OS can remove/reduce animations, we can also detect that.
You can process payments delegating the browser. If configured, the UI will be autofilled with your credit card, shipping info and whatnot.
Delegate the share of URLs or files to the OS, providing share options based on the installed apps and user preference.
Browsers can register push notifications. Sending later, at any moment push notifications, those notifications can contain images, buttons and inline replies.
Among other features, service workers can enable offline browsing and background tasking.
- Provide a fallback when internet isn’t available
- Sending a form when internet isn’t available will result in data lost, service worker can be used to save those data and send them later when an internet connection is up again
Display a native banner to encourage users to add the app/website on the home or to install a native app.
Check if the native app related to your site is already installed.
Allows to tun VR/AR on the web.
Consent to play a video and detach it from the current page, staying sticky and always visible.
Customize media notifications by providing metadata and actions.
If chromecast is available, you can stream a video/audio to your TV / Chromecast enabled device.
Consent to stream a media over AirPlay (like AppleTV)
With some Apple-specific hardware (like iPhone6S+ and Magic Trackpad) you can detect force pressure.
On iOS you can display an .usdz 3D asset using a native AR UI
Allows to use a physical gamepad.
Allows to access and use peripherals connected via USB.
Allows to access and use bluetooth devices.
Prevent display sleep and enable wake lock.
While in fullscreen, allows to receive keys that are normally handled by the system or the browser like Cmd/Alt-Tab, or Esc.
Allows to use several sensors like Accelerometer, Gyroscope, AmbientLightSensor, Magnetometer
Enables to store and retrieve password credentials, it elso enables tap to sign in and automatic sign back, password sharing on multiple device and many more.
Allow to read and write text and images into the OS clipboard buffer
Gives ability to access external presentation-type displays and use them for presenting web content.
Read and lock screen orientation
When using camera/microphone, we can select the input source (example front or back camera). On the Pixel 4XL we can even access the infrared camera (used for face detection).
Gives access to raw mouse movement, locks the target of mouse events to a single element, eliminates limits of how far mouse movement can go in a single direction, and removes the cursor from view. Obvious use cases are for first person or real time strategy games.
on Android you can customise tab color.
Provides access to the vibration mechanism of the hosting device.
Use covfefe protocol to start coffee machines.
Allows access to see the battery level of the device’s battery.
Provides an API to ask whether the current tab is visible or not.
Enables web developers to incorporate speech recognition and speech synthesis.
Allows access to the file system.
Allow the site to read received SMS, for example for OTP and phone number validation.
Provide native UI to select contacts from your OS and retrieve informations.
Allows to set badge in OS in places like shelf or homescreen.