Я работаю с кодом Javascript, написанным кем-то, кто использовал ES6 на сайте Wordpress. Он делает вызов Ajax для отображения данных в DOM, который работает для Chrome и Firefox, но по какой-то причине Safari выдает следующую ошибку в консоли:
TypeError: document.querySelectorAll(".js_zip-lookup__submit").forEach is not a function. (In 'document.querySelectorAll(".js_zip-lookup__submit").forEach(function(e){e.addEventListener("click",function(){displayResults(e.parentNode.querySelector(".zip-lookup__input").value)})})', 'document.querySelectorAll(".js_zip-lookup__submit").forEach' is undefined)
Это функция:
function finderInit(){
document.querySelectorAll('.js_zip-lookup__submit').forEach(function(button){
button.addEventListener('click', function(){
const zip = button.parentNode.querySelector('.zip-lookup__input').value;
displayResults(zip);
});
});
document.querySelectorAll('.zip-lookup').forEach(function(form){
form.addEventListener('submit', function(e){
e.preventDefault();
const zip = form.querySelector('.zip-lookup__input').value;
displayResults(zip);
})
});
}
И я не могу точно сказать, почему у Safari могут возникнуть проблемы с этим, в то время как Chrome / FF даже не регистрирует никаких ошибок об этой конкретной части в консоли и работает просто отлично. Я знаю, что это должна быть проблема с совместимостью браузера, но пока не нашел много информации.