@dvlden/is-webview
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Is Webview

Is Webview

A utility module that takes user-agent string and determines whether it uses webview or native browser. It has been tested for Android and Apple devices with a few samples collected by running ads.

For my very specific use-case, it successfully detects viewing from Facebook, Instagram, Tiktok and Snapchat.

It does not rely on window.navigator.standalone for iOS, to allow Node.js to also use this module.


Installation

Use your favourite package manager... In my case that's pnpm.

pnpm i @dvlden/is-webview

Usage

Browser

import { isWebview } from '@dvlden/is-webview'

if (isWebview(window.navigator.userAgent)) {
  // do something
}

Node

const { isWebview } = require('@dvlden/is-webview')

if (isWebview(/* pass user-agent from the request */)) {
  // do something
}

Why?

Did you know that all of the apps that offer a webview experience (in-app browser), are tracking their users through it. This is especially true for social media apps. That's the main reason why I made this module; to help some websites escape tracking by telling visitors to tap on the ... from Webview and open the website in the browser, while keeping query parameters that social media appends for pixel tracking.

Package Sidebar

Install

npm i @dvlden/is-webview

Weekly Downloads

111

Version

1.0.0

License

MIT

Unpacked Size

3.66 kB

Total Files

7

Last publish

Collaborators

  • dvlden