Thank you for the discussion above @canonizingironize. Summary:
Some fingerprint sites use the language attribute of the tag in html code. This was deprecated with HTML 4.0 Specification in 1997 before it became a standard. browserspy.dk has this code:
<script language="javascript1.4">
//<![CDATA[
var ver14 = 1
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
var ver14;
(ver14) ? document.writeln("Supported") : document.writeln("Not supported");
//]]>
</script>
Firefox reads <script language="javascript1.4">
. It knows the language javascript1.4
. It passes the script to the Javascript engine SpiderMonkey. //<![CDATA[
and //]]>
are there for automated verification of the HTML code. They are ignored by the engine because they have a double slash in front. The engine sets the variable ver14
to 1. Firefox also knows <script type="text/javascript">
and passes the second script. If ver14
was set to 1 this does write Supported
. else it writes Not supported
.
Firefox would not know javascript1.6
or asdfasdfasdf...
. It would not pass the first script. The variable would not be set to 1. The second script would write Not supported
.
Why is javascript1.5
the last one? I do not know. They might have decided to.
Today Javascript is supported by implementing features of the standard. Mozilla says:
"JavaScript 1.8.5 [...] shipped in Firefox 4. Released July 27, 2010. [...] This is the last JavaScript version." - https:/ /developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript (05.12.2016)
and
"[Today] the standard for JavaScript is ECMAScript [2016, the 7th]. As of 2012, all modern browsers fully support ECMAScript 5.1. [...]" - https:/ /developer.mozilla.org/en-US/docs/Web/JavaScript (05.12.2016)
language
attribute of a<script>
tag) is actually deprecated and probably isn't ideal. Instead people tend to use feature detection to determine what javascript functionality is available.