|
671 | 671 | version = [version, doc.documentMode];
|
672 | 672 | if ((data = +data[1] + 4) != version[1]) {
|
673 | 673 | description.push('IE ' + version[1] + ' mode');
|
674 |
| - layout[1] = ''; |
| 674 | + layout && (layout[1] = ''); |
675 | 675 | version[1] = data;
|
676 | 676 | }
|
677 | 677 | version = name == 'IE' ? String(version[1].toFixed(1)) : version[0];
|
|
791 | 791 | // detect JavaScriptCore
|
792 | 792 | // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi
|
793 | 793 | if (!useFeatures || (/internal|\n/i.test(toString.toString()) && !data[1])) {
|
794 |
| - layout[1] = 'like Safari'; |
| 794 | + layout && (layout[1] = 'like Safari'); |
795 | 795 | data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : '5');
|
796 | 796 | } else {
|
797 |
| - layout[1] = 'like Chrome'; |
| 797 | + layout && (layout[1] = 'like Chrome'); |
798 | 798 | data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : '21');
|
799 | 799 | }
|
800 | 800 | // add the postfix of ".x" or "+" for approximate versions
|
801 |
| - layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+'); |
| 801 | + layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+')); |
802 | 802 | // obscure version for some Safari 1-2 releases
|
803 | 803 | if (name == 'Safari' && (!version || parseInt(version) > 45)) {
|
804 | 804 | version = data;
|
|
816 | 816 | }
|
817 | 817 | }
|
818 | 818 | // detect Chrome desktop mode
|
819 |
| - else if (name == 'Safari' && /Chrome/.exec(layout[1])) { |
| 819 | + else if (name == 'Safari' && /Chrome/.exec(layout && layout[1])) { |
820 | 820 | description.unshift('desktop mode');
|
821 | 821 | name = 'Chrome Mobile';
|
822 | 822 | version = null;
|
|
0 commit comments