Quantcast
Viewing all articles
Browse latest Browse all 1157

Browser Development • question about Pale Moon JS Engine

When I run this in the browser console:

CODE:

function getEngine() {    const x = [].constructor;    try {        (-1).toFixed(-1);    } catch (err) {        return err.message.length + (x+'').split(x.name).join('').length;    }}console.log(getEngine());
in Firefox, I get 58, in Pale Moon it's `undefined`. I'm curious why this is the case.

Why: after a previous thread about Pale Moon emulating Firefox fingerprints (here: viewtopic.php?f=5&t=31218) , I started looking into the differences between how Pale Moon and Firefox report fingerprints (and how websites/scripts do feature detection). One of the differences seems to be the JS engine reporting in the above example.

Here's a code snippet I found on Github:

CODE:

// Detect Browserfunction getEngine() {const x = [].constructortry {(-1).toFixed(-1)} catch (err) {return err.message.length + (x+'').split(x.name).join('').length}}const ENGINE_IDENTIFIER = getEngine()const IS_BLINK = ENGINE_IDENTIFIER == 80const IS_GECKO = ENGINE_IDENTIFIER == 58const IS_WEBKIT = ENGINE_IDENTIFIER == 77const JS_ENGINE = ({80: 'V8',58: 'SpiderMonkey',77: 'JavaScriptCore',})[ENGINE_IDENTIFIER] || null


Viewing all articles
Browse latest Browse all 1157

Trending Articles