Skip to content

Commit d2de721

Browse files
lbogdanCompuIves
authored andcommitted
Added homepage polyfills. (codesandbox#786)
1 parent 685062c commit d2de721

File tree

3 files changed

+36
-26
lines changed

3 files changed

+36
-26
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
function detectIE() {
2+
const ua = window.navigator.userAgent;
3+
4+
const msie = ua.indexOf('MSIE ');
5+
if (msie > 0) {
6+
// IE 10 or older => return version number
7+
return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
8+
}
9+
10+
const trident = ua.indexOf('Trident/');
11+
if (trident > 0) {
12+
// IE 11 => return version number
13+
const rv = ua.indexOf('rv:');
14+
return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
15+
}
16+
17+
// other browser
18+
return false;
19+
}
20+
21+
function detectOpera() {
22+
return navigator.userAgent.indexOf('Opera') > -1;
23+
}
24+
25+
export default function detectOldBrowser() {
26+
return detectIE() || detectOpera();
27+
}

packages/common/load-dynamic-polyfills.js

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,7 @@
1-
function detectIE() {
2-
const ua = window.navigator.userAgent;
3-
4-
const msie = ua.indexOf('MSIE ');
5-
if (msie > 0) {
6-
// IE 10 or older => return version number
7-
return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
8-
}
9-
10-
const trident = ua.indexOf('Trident/');
11-
if (trident > 0) {
12-
// IE 11 => return version number
13-
const rv = ua.indexOf('rv:');
14-
return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
15-
}
16-
17-
// other browser
18-
return false;
19-
}
20-
21-
function detectOpera() {
22-
return navigator.userAgent.indexOf('Opera') > -1;
23-
}
1+
import detectOldBrowser from 'common/detect-old-browser';
242

253
export default function requirePolyfills() {
26-
if (detectIE() || detectOpera()) {
4+
if (detectOldBrowser()) {
275
return import(/* webpackChunkName: 'polyfills' */ 'babel-polyfill');
286
}
297

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
1-
import 'core-js/es6/map';
2-
import 'core-js/es6/set';
1+
import detectOldBrowser from 'common/detect-old-browser';
2+
3+
exports.onClientEntry = () => {
4+
if (detectOldBrowser()) {
5+
require('babel-polyfill');
6+
}
7+
};

0 commit comments

Comments
 (0)