iOS не загружает файл JavaScript с объявлением класса - PullRequest
0 голосов
/ 03 сентября 2018

В моем файле JavaScript у меня есть следующее:

alert('loaded JS file');
class myClass{
    constuctor(value){
        this.value = value;
    }
    myfunc(){
        //some method
        return this.value;
    }
}

В моем HTML-файле у меня есть следующее:

<script src="/myJSFile"></script>
<script>
    let someVal = 5;
    let myInstance = new myClass(someval);
</script>

Это прекрасно работает на всех компьютерах и некоторых мобильных устройствах, но не на всех мобильных устройствах. Мой iPhone6 ​​под управлением iOS 10 сталкивается с ошибкой, когда alert('loaded JS file') никогда не выполняется, и поэтому имеет ошибку: ReferenceError: Can't find variable: myClass. Однако, если я удаляю код, создающий класс, из файла javascript, то оповещение срабатывает на мобильном телефоне. Поэтому я предполагаю, что объявление класса почему-то не поддерживается на некоторых мобильных устройствах, но на самом деле я не уверен, потому что я думаю, что это стандартно для всех браузеров / устройств.

Почему файл javascript не загружается только на некоторых мобильных устройствах?

1 Ответ

0 голосов
/ 03 сентября 2018

class был добавлен только в ES2015 и не поддерживается повсеместно, особенно в устаревших версиях мобильных операционных систем. Но даже IE11 на десктопах, например, не поддерживает class. Подробности: https://caniuse.com/#feat=es6-class

Если вы хотите использовать class на старых устройствах, вам нужно передать в код ES5. ( Babel является одним из инструментов для этого.)

(Примечание: у вас есть опечатка в конструкторе, вам не хватает буквы r в названии.)

...