Общая проблема
В Javascript мне нужно получать уведомления, когда возникает ошибка при загрузке URL и переопределении поведения по умолчанию.Например, при выполнении следующего в iOS Safari ...
window.location = 'http://pageDoesNotExist.badFormatting';
... появится это предупреждение ...
Я бынапример, присоедините слушателя к такой ошибке и сделайте что-нибудь вместо , чтобы отобразить окно с ужасным предупреждением.
Моя конкретная проблема
Когда пользователь нажимает кнопку, мне нужно запустить мое приложение, если оно установлено, иначе мне нужно открыть App Store, чтобы он мог загрузить мое приложение. принятое решение :
// Attempt to open app
window.location = 'myApp://';
// If app fails to open, will open app store 0.5 seconds later
window.setTimeout(
function() {
window.location = 'http://itunes.apple.com/myAppId';
},
500
);
Проблема здесь в том, что первый window.location
открывает окно с ужасным предупреждением, когда приложение не установлено.Затем код откроется в App Store.Когда пользователь возвращается из App Store обратно в Safari, уродливое окно с предупреждением все еще там.Насколько я знаю, window.onerror
не запускается на мобильном Safari.