У меня есть приложение PWA с PHP и JS.И он хорошо работает на Chrome, Firefox, Edge и Opera на рабочем столе Windows.Я также попробовал Chrome для Android, и он работал, как и ожидалось.
Но когда я попробовал его на Ipad 2
с Chrome 63
, я даже не смог войти в свою панель управления.Когда я использовал удаленную отладку, я понял, что она выдает ошибку в объявлениях переменных Javascript с let
.
let usr = $('#usrInput').val();
let pwd = $('#pwdInput').val();
Когда я изменил их на var
, я наконец-то вошел в свою панель управления.
Но проблема в том, что существует множество объявлений переменных с let
, и это трудно, а также неправильно сделать.Я также использую множество библиотек Javascript , которые, как я полагаю, полны объявлений let
.
Я также не знаю, какие проблемы (кроме объявлений переменных) все еще будут возникатьДаже я изменил все let
на var
.
Это все о проблеме совместимости?Или я что-то пропустил?
ОБНОВЛЕНИЕ: Я изменил let
объявления переменных на var
.И, наконец, может войти в систему. Вот начальный и самый важный журнал ошибок:
app.js:217 Uncaught TypeError: Cannot read property 'userChoice' of undefined
, который запускается из:
var promtEvent;
window.addEventListener('beforeinstallprompt', (e) => {
// Prevent Chrome 67 and earlier from automatically showing the prompt
e.preventDefault();
localStorage.setItem("uygulamaYuklendimi", false);
btnAdd.removeAttribute("disabled", "");
btnAdd.innerText = 'Uygulamayı Yükle';
// Stash the event so it can be triggered later.
promtEvent = e;
// satinalmaKodu.style.display = 'block';
});
btnAdd.addEventListener('click', (e) => {
// hide our user interface that shows our A2HS button
$('#ayarlarModal').modal('hide');
$('#satinalmaKodu').collapse();
// Show the prompt
if(promtEvent) promtEvent.prompt();
// Wait for the user to respond to the prompt
promtEvent.userChoice
.then((choiceResult) => {
promtEvent = null;
});
});
Я считаю, что Chrome не может инициализировать beforeinstallprompt
событие, которое, вероятно, из-за проблемы совместимости.
Есть ли способ или какая-то библиотека, которая включает это поведение?
PS: Javascript isвключен для Safari и Chrome для IOS .