Sự cố chung
Trong Javascript, tôi cần được thông báo khi có lỗi khi tải URL và ghi đè hành vi mặc định. Ví dụ, thực hiện như sau trên iOS Safari ...Làm cách nào để ghi đè sự kiện lỗi window.location?
window.location = 'http://pageDoesNotExist.badFormatting';
... sẽ bật lên thông điệp cảnh báo này ...
Tôi muốn đính kèm một người biết lắng nghe cho một lỗi như vậy và làm điều gì đó thay vì hiển thị hộp cảnh báo xấu.
vấn đề cụ thể của tôi
Khi người dùng chạm vào một nút, tôi cần phải khởi động ứng dụng của tôi nếu nó được cài đặt, nếu không tôi cần phải mở App Store cho cô ấy để tải về ứng dụng của tôi. Các accepted solution là:
// 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
);
Vấn đề ở đây là các window.location
đầu tiên mở ra hộp cảnh báo xấu xí khi ứng dụng không được cài đặt. Mã sẽ sau đó dự phòng vào App Store. Khi người dùng trở về từ App Store trở lại Safari, hộp cảnh báo xấu xí vẫn còn đó. Theo như tôi biết window.onerror
không kích hoạt trên Safari trên thiết bị di động.
Hãy xem này - http://stackoverflow.com/questions/1108693/is-it-possible-to-register-a-httpdomain-based-url-scheme-for-iphone-apps-like/1109200#1109200 – mrtsherman
Tôi nghĩ bạn sẽ phải có một trình duyệt plug-in để làm một cái gì đó như thế này bởi vì, phần nào theo định nghĩa, khi lỗi này đi lên, không có trang hoạt động và do đó không có javascript trang của bạn. Vì vậy, javascript sẽ phải được xây dựng vào trình duyệt - do đó, suy nghĩ của việc sử dụng một plug-in. – jfriend00
Bạn có xem qua [giải pháp] này (http://stackoverflow.com/a/1404662/371392) trước tiên không? –