Code Monkey home page Code Monkey logo

detectincognito's Introduction

Note: The npm package is now detectincognitojs.

detectIncognito.js

detectIncognito.js can be used to detect incognito mode & other private browsing modes on most modern browsers as of 2022.

  • Detects Incognito mode on Google Chrome
  • Detects Private Windows on Safari for macOS
  • Detects Private Tabs on Safari for iOS
  • Detects Private Windows in Firefox
  • Detects InPrivate Windows on Microsoft Edge
  • Detects InPrivate Windows on Microsoft Internet Explorer
  • Detects Private Windows in Brave
  • Detects Private Windows in Opera

DEMO: https://detectincognito.com/

Usage

Get script from CDN

<script src="https://cdn.jsdelivr.net/gh/Joe12387/detectIncognito@main/detectIncognito.min.js"></script>

Or install from NPM

npm i detectincognitojs
import { detectIncognito } from "detectincognitojs";

Run the detect function

detectIncognito().then((result) => {
  console.log(result.browserName, result.isPrivate);
});

Supported Browsers

  • Safari for iOS - 8 to 16
  • Safari for macOS <= 16
  • Chrome/Chromium - 50 to 105
  • Edge - 15 to 18; 79 to 105
  • Firefox - 44 to 104
  • Brave <= 1.43
  • MSIE == 11 (Promise polyfill required)

Please note that although this script works on almost all modern browsers, detecting private modes in browsers is very much an arms race. As such, I cannot guarantee that this script will continue to work into the future. However, I will continue to actively maintain this script to support as many browsers as is possible.

If you are aware of any modern browsers this script does not work with, please let me know by creating an issue.

Notes

  • This script does not detect Container Tabs on Firefox as they work differently compared to private mode.
  • An error will be thrown if the browser cannot be identified.
  • The script only works remotely (i.e. on a web server). Running the script locally may produce a false result, or not run at all.

Similar Projects

detectincognito's People

Contributors

joe12387 avatar mykolashevchuk avatar napthedev avatar p810 avatar toxic-johann avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.