В 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.