#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, и он работает как шарм.