Приложение Angular работает в Chrome, но не в Safari

#angularjs #google-chrome #safari

#angularjs #google-chrome #safari

Вопрос:

Мой веб-сайт отлично работает в Chrome, но не работает в Apple Mobile Safari.

Я устранил проблему и обнаружил, что проблема связана с приведенной ниже строкой кода, размещенной рядом с моим контроллером angular. Без этого кода все работает нормально.

Код берет все изображения на странице и помещает их в массив. Что я могу сделать по-другому, чтобы обеспечить надлежащую совместимость? Спасибо!

 $scope.load_picture_cotent = function () {

  $scope.pictures = Array.from(

    document.querySelectorAll
    ('div.album [style^="background-image"]')).map
    (el=>el.style.backgroundImage.replace(/url((.*))/,'$1')
          .replace(/"/g,'')
          .replace(/thumbnails/,'highresolution'));

    console.log($scope.pictures);
}
 

Вы также можете просмотреть веб-сайт здесь.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация или вы хотите, чтобы я расширил свой пост, включив в него дополнительную информацию.

Комментарии:

1. Как это сломано?

2. Приложение не запускается. Мой веб-сайт использует угловой маршрут (со строкой меню и нижним колонтитулом как частью index.html и содержимое, импортируемое с помощью route.) Верхний и нижний колонтитулы загружаются, но маршрут angular JS не отображает содержимое.

Ответ №1:

вы используете лямбда-нотацию ECMA 2015, попробуйте обернуть это с помощью babel и попробуйте еще раз, проверяли ли вы состояние совместимости браузеров с ECMA Script 2015?

Ответ №2:

Спасибо, bretanac93.

Он был прав, я использовал более новую версию Javascript, чем в настоящее время поддерживается браузерами.

Он рекомендовал мне использовать Babel, который является компилятором, который преобразует новый Javascript в совместимый Javascript.

Я использовал babel для компиляции совместимого javascript, и он работает как шарм.