1
+ var platforms = [ "default" , "unknown" , "win32" , "win64" , "unix" ] ;
1
2
var platform_override = null ;
2
3
3
4
function detect_platform ( ) {
4
5
"use strict" ;
5
6
6
- if ( platform_override ) {
7
- return platform_override ;
7
+ if ( platform_override !== null ) {
8
+ return platforms [ platform_override ] ;
8
9
}
9
10
10
11
var os = "unknown" ;
@@ -20,15 +21,18 @@ function detect_platform() {
20
21
if ( navigator . platform == "Linux mips" ) { os = "unix" ; }
21
22
if ( navigator . platform == "Linux mips64" ) { os = "unix" ; }
22
23
if ( navigator . platform == "Mac" ) { os = "unix" ; }
23
- if ( navigator . platform == "Win32" ) { os = "win" ; }
24
+ if ( navigator . platform == "Win32" ) { os = "win32" ; }
25
+ if ( navigator . platform == "Win64" ||
26
+ navigator . userAgent . indexOf ( "WOW64" ) != - 1 ||
27
+ navigator . userAgent . indexOf ( "Win64" ) != - 1 ) { os = "win64" ; }
24
28
if ( navigator . platform == "FreeBSD x86_64" ) { os = "unix" ; }
25
29
if ( navigator . platform == "FreeBSD amd64" ) { os = "unix" ; }
26
30
if ( navigator . platform == "NetBSD x86_64" ) { os = "unix" ; }
27
31
if ( navigator . platform == "NetBSD amd64" ) { os = "unix" ; }
28
32
29
33
// I wish I knew by now, but I don't. Try harder.
30
34
if ( os == "unknown" ) {
31
- if ( navigator . appVersion . indexOf ( "Win" ) != - 1 ) { os = "win " ; }
35
+ if ( navigator . appVersion . indexOf ( "Win" ) != - 1 ) { os = "win32 " ; }
32
36
if ( navigator . appVersion . indexOf ( "Mac" ) != - 1 ) { os = "unix" ; }
33
37
// rust-www/#692 - FreeBSD epiphany!
34
38
if ( navigator . appVersion . indexOf ( "FreeBSD" ) != - 1 ) { os = "unix" ; }
@@ -42,39 +46,17 @@ function adjust_for_platform() {
42
46
43
47
var platform = detect_platform ( ) ;
44
48
45
- var unix_div = document . getElementById ( "platform-instructions-unix" ) ;
46
- var win_div = document . getElementById ( "platform-instructions-win" ) ;
47
- var unknown_div = document . getElementById ( "platform-instructions-unknown" ) ;
48
- var default_div = document . getElementById ( "platform-instructions-default" ) ;
49
-
50
- unix_div . style . display = "none" ;
51
- win_div . style . display = "none" ;
52
- unknown_div . style . display = "none" ;
53
- default_div . style . display = "none" ;
54
-
55
- if ( platform == "unix" ) {
56
- unix_div . style . display = "block" ;
57
- } else if ( platform == "win" ) {
58
- win_div . style . display = "block" ;
59
- } else if ( platform == "unknown" ) {
60
- unknown_div . style . display = "block" ;
61
- } else {
62
- default_div . style . display = "block" ;
63
- }
49
+ platforms . forEach ( function ( platform_elem ) {
50
+ var platform_div = document . getElementById ( "platform-instructions-" + platform_elem ) ;
51
+ platform_div . style . display = "none" ;
52
+ if ( platform == platform_elem ) {
53
+ platform_div . style . display = "block" ;
54
+ }
55
+ } ) ;
64
56
}
65
57
66
58
function cycle_platform ( ) {
67
- if ( platform_override == null ) {
68
- platform_override = "default" ;
69
- } else if ( platform_override == "default" ) {
70
- platform_override = "unknown" ;
71
- } else if ( platform_override == "unknown" ) {
72
- platform_override = "win" ;
73
- } else if ( platform_override == "win" ) {
74
- platform_override = "unix" ;
75
- } else if ( platform_override == "unix" ) {
76
- platform_override = "default" ;
77
- }
59
+ platform_override = ( platform_override + 1 ) % platforms . length ;
78
60
adjust_for_platform ( ) ;
79
61
}
80
62
0 commit comments