> 웹 프론트엔드 > JS 튜토리얼 > JavaScript를 사용하여 운영 체제 세부 정보를 검색하려면 어떻게 해야 합니까?

JavaScript를 사용하여 운영 체제 세부 정보를 검색하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-20 09:01:13
원래의
700명이 탐색했습니다.

How Can I Retrieve Operating System Details Using JavaScript?

JavaScript를 사용하여 운영 체제 세부 정보를 찾는 방법은 무엇입니까?

JavaScript는 사용자 운영 체제에 대한 정보에 액세스할 수 있는 다양한 방법을 제공합니다. 다음은 OS 이름과 버전에 대한 자세한 정보를 얻을 수 있는 포괄적인 스크립트입니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

/**

 * JavaScript Client Detection

 * (C) viazenetti GmbH (Christian Ludwig)

 */

(function (window) {

    {

        var unknown = '-';

 

        // screen

        var screenSize = '';

        if (screen.width) {

            width = (screen.width) ? screen.width : '';

            height = (screen.height) ? screen.height : '';

            screenSize += '' + width + " x " + height;

        }

 

        // browser

        var nVer = navigator.appVersion;

        var nAgt = navigator.userAgent;

        var browser = navigator.appName;

        var version = '' + parseFloat(nVer);

        var nameOffset, verOffset, ix;

 

        // Yandex Browser

        if ((verOffset = nAgt.indexOf('YaBrowser')) != -1) {

            browser = 'Yandex';

            version = nAgt.substring(verOffset + 10);

        }

        // Samsung Browser

        else if ((verOffset = nAgt.indexOf('SamsungBrowser')) != -1) {

            browser = 'Samsung';

            version = nAgt.substring(verOffset + 15);

        }

        // UC Browser

        else if ((verOffset = nAgt.indexOf('UCBrowser')) != -1) {

            browser = 'UC Browser';

            version = nAgt.substring(verOffset + 10);

        }

        // Opera Next

        else if ((verOffset = nAgt.indexOf('OPR')) != -1) {

            browser = 'Opera';

            version = nAgt.substring(verOffset + 4);

        }

        // Opera

        else if ((verOffset = nAgt.indexOf('Opera')) != -1) {

            browser = 'Opera';

            version = nAgt.substring(verOffset + 6);

            if ((verOffset = nAgt.indexOf('Version')) != -1) {

                version = nAgt.substring(verOffset + 8);

            }

        }

        // Legacy Edge

        else if ((verOffset = nAgt.indexOf('Edge')) != -1) {

            browser = 'Microsoft Legacy Edge';

            version = nAgt.substring(verOffset + 5);

        }

        // Edge (Chromium)

        else if ((verOffset = nAgt.indexOf('Edg')) != -1) {

            browser = 'Microsoft Edge';

            version = nAgt.substring(verOffset + 4);

        }

        // MSIE

        else if ((verOffset = nAgt.indexOf('MSIE')) != -1) {

            browser = 'Microsoft Internet Explorer';

            version = nAgt.substring(verOffset + 5);

        }

        // Chrome

        else if ((verOffset = nAgt.indexOf('Chrome')) != -1) {

            browser = 'Chrome';

            version = nAgt.substring(verOffset + 7);

        }

        // Safari

        else if ((verOffset = nAgt.indexOf('Safari')) != -1) {

            browser = 'Safari';

            version = nAgt.substring(verOffset + 7);

            if ((verOffset = nAgt.indexOf('Version')) != -1) {

                version = nAgt.substring(verOffset + 8);

            }

        }

        // Firefox

        else if ((verOffset = nAgt.indexOf('Firefox')) != -1) {

            browser = 'Firefox';

            version = nAgt.substring(verOffset + 8);

        }

        // MSIE 11+

        else if (nAgt.indexOf('Trident/') != -1) {

            browser = 'Microsoft Internet Explorer';

            version = nAgt.substring(nAgt.indexOf('rv:') + 3);

        }

        // Other browsers

        else if ((nameOffset = nAgt.lastIndexOf(' ') + 1) < (verOffset = nAgt.lastIndexOf('/'))) {

            browser = nAgt.substring(nameOffset, verOffset);

            version = nAgt.substring(verOffset + 1);

            if (browser.toLowerCase() == browser.toUpperCase()) {

                browser = navigator.appName;

            }

        }

        // trim the version string

        if ((ix = version.indexOf(';')) != -1) version = version.substring(0, ix);

        if ((ix = version.indexOf(' ')) != -1) version = version.substring(0, ix);

        if ((ix = version.indexOf(')')) != -1) version = version.substring(0, ix);

 

        majorVersion = parseInt('' + version, 10);

        if (isNaN(majorVersion)) {

            version = '' + parseFloat(nVer);

            majorVersion = parseInt(nVer, 10);

        }

 

        // mobile version

        var mobile = /Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(nVer);

 

        // cookie

        var cookieEnabled = (navigator.cookieEnabled) ? true : false;

 

        if (typeof navigator.cookieEnabled == 'undefined' && !cookieEnabled) {

            document.cookie = 'testcookie';

            cookieEnabled = (document.cookie.indexOf('testcookie') != -1) ? true : false;

        }

 

        // system

        var os = unknown;

        var clientStrings = [

            { s: 'Windows 10', r: /(Windows 10\.0|Windows NT 10\.0)/ },

            { s: 'Windows 8.1', r: /(Windows 8\.1|Windows NT 6\.3)/ },

            { s: 'Windows 8', r: /(Windows 8|Windows NT 6\.2)/ },

            { s: 'Windows 7', r: /(Windows 7|Windows NT 6\.1)/ },

            { s: 'Windows Vista', r: /Windows NT 6\.0/ },

            { s: 'Windows Server 2003', r: /Windows NT 5\.2/ },

            { s: 'Windows XP', r: /(Windows NT 5\.1|Windows XP)/ },

            { s: 'Windows 2000', r: /(Windows NT 5\.0|Windows 2000)/ },

            { s: 'Windows ME', r: /(Win 9x 4\.90|Windows ME)/ },

            { s: 'Windows 98', r: /(Windows 98|Win98)/ },

            { s: 'Windows 95', r: /(Windows 95|Win95|Windows_95)/ },

            { s: 'Windows NT 4.0', r: /(Windows NT 4\.0|WinNT4\.0|WinNT|Windows NT)/ },

            { s: 'Windows CE', r: /Windows CE/ },

            { s: 'Windows 3.11', r: /Win16/ },

            { s: 'Android', r: /Android/ },

            { s: 'Open BSD', r: /OpenBSD/ },

            { s: 'Sun OS', r: /SunOS/ },

            { s: 'Chrome OS', r: /CrOS/ },

            { s: 'Linux', r: /(Linux|X11(?!.*CrOS))/ },

            { s: 'iOS', r: /(iPhone|iPad|iPod)/ },

            { s: 'Mac OS X', r: /Mac OS X/ },

            { s: 'Mac OS', r: /(Mac OS|MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },

            { s: 'QNX', r: /QNX/ },

            { s: 'UNIX', r: /UNIX/ },

            { s: 'BeOS', r: /BeOS/ },

            { s: 'OS/2', r: /OS\/2/ },

            { s: 'Search Bot', r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/ }

        ];

        for (var id in clientStrings) {

            var cs = clientStrings[id];

            if (cs.r.test(nAgt)) {

                os = cs.s;

                break;

            }

        }

 

        var osVersion = unknown;

 

        if (/Windows/.test(os)) {

            osVersion = /Windows (.*)/.exec(os)[1];

            os = 'Windows';

        }

 

        switch (os) {

            case 'Mac OS':

            case 'Mac OS X':

로그인 후 복사

위 내용은 JavaScript를 사용하여 운영 체제 세부 정보를 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿