2009-07-16 35 views
16

Như bạn đã biết, các ứng dụng iPhone có thể đăng ký trình xử lý lược đồ URL tùy chỉnh, ala "myapp:" và chúng có thể được sử dụng cho các liên kết trong một trang được xem trong Safari.Làm cách nào để phát hiện, qua javascript trong Safari Mobile, nếu ứng dụng iPhone của tôi được cài đặt?

Tôi muốn tự động khởi chạy ứng dụng của mình từ một trang cụ thể nếu khách truy cập đã cài đặt ứng dụng. Nếu ứng dụng chưa được cài đặt, tôi sẽ chỉ hiển thị cho họ chế độ xem được tối ưu hóa cho thiết bị di động hiện tại của trang.

Tôi có thể thực hiện việc phát hiện này bằng cách nào? Các tìm kiếm của Google đã không kết quả. Ngoài ra, để được khôn lanh, tôi đã cố gắng làm một cái gì đó như thế này để avail không có:

var image = new Image(); 
image.onerror = function(e){ 
    alert("bummer"); 
} 
image.onload = function(e){ 
    alert('success!'); 
} 
image.src = 'myapp://something=meaningful'; 

Có ai đi qua một cách để làm phát hiện ứng dụng?

+3

không thể ... xin lỗi dude: -/Thật không may, điều này có thể được sử dụng để làm _all types_ của những điều xấu. Nó sẽ là một nhà quảng cáo jackpot :-) –

+0

@BenGotow bạn có biết làm thế nào Android thực hiện điều này mà không có tất cả các loại điều xấu xảy ra? – Shane

Trả lời

6

The solution Tôi đã trình bày về một câu hỏi Stack Overflow khác là gần như bạn sắp nhận được.

+1

Vâng - tôi đặt khái niệm đó để sử dụng (nhưng sử dụng localStorage thay vì cookie để duy trì tốt hơn). Cảm ơn. – davemyron

0

Tôi không nghĩ điều này là có thể. Bạn sẽ cần phải đăng ký ứng dụng của mình trên iPhone/Mobile Safari và sau đó tạo một uri để kích hoạt ứng dụng của bạn, giống như http :, ftp: mailto :. Vì vậy, trong trường hợp của bạn, bạn sẽ có một cái gì đó như Am tôi cài đặt Mobile Safari sẽ cần phải biết những gì ứng dụng để cháy lên để tải rằng URI và tôi chỉ không nghĩ rằng chức năng này được xây dựng vào iPhone. Tôi biết không có cách nào javascript có thể truy vấn iPhone của bạn để xem những gì được cài đặt.

Tôi hy vọng tôi sai vì điều này có vẻ như nó sẽ là một tính năng mạnh mẽ, mặc dù ở phía bên kia tôi có thể thấy một số vấn đề bảo mật liên quan đến một cái gì đó như thế này.

Chúc may mắn.

+0

Sơ đồ URL tùy chỉnh chắc chắn là có thể, do đó, việc xử lý URL "myapp: //" không có vấn đề gì. Mong muốn của tôi là kiểm tra xem ứng dụng có được cài đặt * xử lý * các URL đó trước khi cố gắng gửi khách truy cập đến ứng dụng hay không. – davemyron

Các vấn đề liên quan