Я написал некоторый код Javascript, который отлично работает во всех основных браузерах.Конечно, я позаботился о том, чтобы Internet Explorer не выполнял ничего из этого, создав функцию, которая выясняет, какой браузер использует пользователь.
Однако возникает проблема: даже если я скажу IE не выполнять кодбраузер по-прежнему читает весь мой Javascript и, поскольку он находит что-то, что он не распознает, он перестает запускать любой другой Javascript.
Единственное, о чем я мог подумать, это создать функцию, которая возвращала бы, если пользовательиспользует IE, но это, похоже, не работает, так как я думаю, что проблема заключается в том, что IE изначально анализирует мой скрипт и не может понять современный синтаксис JS.
Вот упрощенная версия моего кода:
class Section {
constructor(dom, startPosition, endPosition, backgroundPosition) {
this.dom = dom;
this.startPosition = startPosition;
this.endPosition = endPosition;
this.backgroundPosition = backgroundPosition;
}
}
function isIE() {
ua = navigator.userAgent;
/* MSIE used to detect old browsers and Trident used to newer ones*/
var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1;
return is_ie;
}
let sections = [];
function sectionParallax() {
if (!isIE()) {
sections.push( new Section("test", 123, 123, 123))
}
}
Отчеты консоли IE:
SCRIPT1002: Syntax error
Вкл. class Section
.
У меня совершенно нет идей о том, что здесь делать.Как мне убедиться, что IE не загружает эту часть кода?