2.2. Detecting the Operating System
Problem
You want to know the operating system under which the Flash movie is being played, perhaps to indicate which operating systems are not supported or to implement a platform-specific feature.
Solution
Use the $version
or
System.capabilities.os property.
Discussion
In Recipe 2.1, we saw that the
$version property string includes the operating
system on which the Player is running. The operating system can be
either “MAC”,
“WIN”, or
“UNIX”.
playerParts = _level0.$version.split(" ");
switch (playerParts[0]) {
case "MAC":
gotoAndStop ("WelcomeMac");
break;
case "WIN":
gotoAndStop ("WelcomeWindows");
break;
case "UNIX":
gotoAndStop ("WelcomeUnix");
}As of Flash 6, you can use the
System.capabilities.os property, which returns a
string indicating the operating system and version name. Possible
values include “Windows XP”,
“Windows 2000”,
“Windows NT”,
“Windows 98/Me”,
“Windows 95”, and
“Windows CE”. On the Macintosh, the
string includes the version number, such as “MacOS
9.2.1” or “MacOS
10.1.4”.
You can make design choices based on the operating system. For example, your movie might load different assets depending on the user’s operating system, or you may simply want to record the operating systems of the users who view your movies for statistical analysis.
If all you care about is the general platform type instead of the specific version, you can check just the first three letters of the string, as follows:
os = System.capabilities.os.substr(0, 3); ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access