Index: branches/wmf/1.16wmf4/extensions/UsabilityInitiative/PrefSwitch/PrefSwitch.js |
— | — | @@ -27,16 +27,20 @@ |
28 | 28 | } |
29 | 29 | // Detect operating system |
30 | 30 | var os = 'other'; |
31 | | - switch ( $j.os.name ) { |
32 | | - case 'win': os = 'windows'; break; |
33 | | - case 'mac': os = 'macos'; break; |
34 | | - case 'linux': os = 'linux'; break; |
| 31 | + if ( typeof $j.os != 'undefined' && typeof $j.os.name != 'undefined' ) { |
| 32 | + switch ( $j.os.name ) { |
| 33 | + case 'win': os = 'windows'; break; |
| 34 | + case 'mac': os = 'macos'; break; |
| 35 | + case 'linux': os = 'linux'; break; |
| 36 | + } |
35 | 37 | } |
36 | | - switch ( $j.browser.name ) { |
37 | | - case 'iemobile': os = 'windowsmobile'; break; |
38 | | - case 'iphone': os = 'iphoneos'; break; |
39 | | - case 'ipod': os = 'iphoneos'; break; |
40 | | - case 'ipad': os = 'iphoneos'; break; |
| 38 | + if ( typeof $j.browser != 'undefined' && typeof $j.browser.name != 'undefined' ) { |
| 39 | + switch ( $j.browser.name ) { |
| 40 | + case 'iemobile': os = 'windowsmobile'; break; |
| 41 | + case 'iphone': os = 'iphoneos'; break; |
| 42 | + case 'ipod': os = 'iphoneos'; break; |
| 43 | + case 'ipad': os = 'iphoneos'; break; |
| 44 | + } |
41 | 45 | } |
42 | 46 | return { |
43 | 47 | 'survey-browser': browser, 'survey-os': os, 'survey-res-x': screen.width, 'survey-res-y': screen.height |