js-detect-incognito-private-browsing
Version:
Javascript Code to Detect Private or Incognito Browsing (with Bot detector) and Paywall
70 lines (55 loc) • 2.56 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test incognito or private browsing</title>
<script src="../dist/BrowsingModeDetector.js" type="application/javascript"></script>
</head>
<body>
<div id="message">Testing...</div>
</body>
<script type="application/javascript">
// You can test the browsing mode using a default callback
var myCallback = function (browsingInIncognitoMode, BrowsingModeDetectorInstance) {
console.log('Is private?', browsingInIncognitoMode);
console.log('Browsing Mode:', BrowsingModeDetectorInstance.getBrowsingMode());
var message = document.getElementById("message");
if (browsingInIncognitoMode) {
message.innerHTML = "Incognito/Private browsing detected!";
return;
}
message.innerHTML = "Normal browsing";
};
// Bots will be ignored:
var BrowsingModeDetectorTest1 = new BrowsingModeDetector();
BrowsingModeDetectorTest1.do(myCallback);
// or BrowsingModeDetectorTest1.ignoringBots().do(myCallback);
// Will return as private/incognito navigation when bots browsing:
// BrowsingModeDetectorTest1.notIgnoringBots().do(myCallback);
var callbackWhenNormalMode = function (BrowsingModeDetectorInstance) {
console.log('callbackWhenNormalMode called when', BrowsingModeDetectorInstance.getBrowsingMode());
};
var callbackWhenIncognitoOrPrivateMode = function (BrowsingModeDetectorInstance) {
console.log('callbackWhenIncognitoOrPrivateMode called when', BrowsingModeDetectorInstance.getBrowsingMode());
};
var defaultCallback = function (browsingInIncognitoMode, BrowsingModeDetectorInstance) {
console.log('This callback will be called either private or normal mode detected, optional though. Is private or incognito?', browsingInIncognitoMode);
if (BrowsingModeDetectorInstance.getBrowsingMode() === BrowsingModeDetectorInstance.BROWSING_NORMAL_MODE) {
console.log('Do something if is NORMAL_MODE!');
} else {
console.log('Do something if is INCOGNITO_PRIVATE_MODE!');
}
};
var BrowsingModeDetectorTest2 = new BrowsingModeDetector();
BrowsingModeDetectorTest2
.setCallbackForNormalMode(callbackWhenNormalMode)
.setCallbackForIncognitoOrPrivateMode(callbackWhenIncognitoOrPrivateMode)
.do(defaultCallback);
// You can test if is bot passing a callback:
BrowsingModeDetectorTest2.isBotBrowsing(function (isBot) {
console.log('Is Bot:', isBot);
});
// Or without callback:
// console.log('Is Bot:', BrowsingModeDetector.isBotBrowsing());
</script>
</html>