2011-12-12 27 views
9

Tôi đã phát triển một ứng dụng web cho iPhone và tôi đã đánh dấu trang đó và thêm vào màn hình chính của iPhone. Tôi nhận thấy một vấn đề với nó, mặc dù: nó hoạt động như dự định cho đến khi tôi điều hướng đến một trang trong ứng dụng có chuỗi truy vấn và tham số - ví dụ: www.mywebapp.com/page02.html?param1=value&param2=value2. Khi tôi truy cập một trang có URL như vậy, iOS chuyển tôi từ phiên bản Safari được nhúng sang ứng dụng Safari chính - nó đưa tôi ra khỏi ứng dụng của tôi. Tôi không biết tại sao điều này lại xảy ra.Webapp cho chuyển đổi iphone từ màn hình chính sang Safari khi tham số url được sử dụng

Điều gì gây ra điều này và tôi có thể làm gì với nó?

+0

Ý của bạn là gì "chuyển từ màn hình chính sang Safari"? Ứng dụng được đánh dấu trang có biến mất khỏi màn hình chính hay không - nó có chuyển từ trình duyệt kiểu UIWebView sang Mobile Safari không? –

+0

Xin chào! Với "switch ...", tôi muốn nói rằng WebApp chuyển từ trình duyệt kiểu UIWebView sang Mobile Safari như bạn đã đề cập. Nó là lạ bởi vì nó chỉ xảy ra khi tôi sử dụng các tham số trong URL. Tôi cho rằng sẽ có một số hạn chế với các ứng dụng web và thông số url của iphone. Bạn có biết giải pháp nào cho vấn đề này không? – user1094000

+0

Bản sao có thể có của [iPhone Safari Web App mở liên kết trong cửa sổ mới] (http://stackoverflow.com/questions/2898740/iphone-safari-web-app-opens-links-in-new-window) – nkron

Trả lời

0

Tôi không chắc điều gì gây ra điều này, nhưng this question about UIWebView issues có giải pháp để làm cho một số liên kết mở trong trang UIWebView và một số mở trong Mobile Safari, vì vậy tôi đặt cược bạn có thể khái quát hóa từ đó đến giải pháp cho vấn đề của bạn .

5

Đó là cách Apple thiết kế nó. Nếu bạn cần một ứng dụng web đa dạng xem, bạn cần triển khai logic chuyển đổi trang trong JavaScript. Mọi thứ khác sẽ gây ra vấn đề bạn mô tả -> nhảy tới Safari.

7

Nhiều nhờ @BjornKaiser đã cung cấp giải pháp, đây là một đơn giản jQuery kịch bản mà sẽ xử lý việc này cho bạn cho tất cả các liên kết.

Thêm phần này vào phần đầu của trang chủ ASP.Net của bạn. Hãy chắc chắn rằng bạn có jquery bao gồm:

<head> 
    <!-- Your reference to your jQuery library --> 
    <script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script> 

    <script type="text/javascript"> 
     $(function() { 
      $('a').click(function() { 
      document.location = $(this).attr('href'); 
      return false; 
      }); 
     }); 
    </script> 
</head> 
Các vấn đề liên quan