2010-12-17 58 views
3

我正在开发一个只能在UIWebView内部查看的小型站点,一个页面有几个指向外部网站的链接。我希望在移动版Safari中打开这些内容,但应用内的所有链接都将在Web视图中加载。修改应用程序的源代码不是一种选择,因为在提交任何更改之前该站点需要处于活动状态。从UIWebView *启动移动Safari,无需修改应用程序源?

有没有办法强迫UIWebView内的链接启动使用HTML/5或Javascript的移动Safari?模仿shouldStartLoadWithRequest?偷偷摸摸,哈克变通办法或辉煌的替代解决方案?

(而且,出于好奇心十足......为什么不呢?)

回答

1

这将是糟糕的设计,让网站通过简单的HTML访问iPhone上的框架。这会打开各种安全漏洞。它不是您想要更改的网络行为,所以我认为您可能需要更改应用程序源。我仍然不明白为什么这不是一个选项。你能进一步深入吗?

+0

这很有道理 - 我从来没有充分考虑过安全风险。由于时间限制,更改应用程序源不是一个选项; webview包含用于节日促销的iAd-esque网站,并且在我们推出新版本之前需要生活。 (无法控制最终服务器。)启动移动Safari是理想的解决方案,因为外部网站的可用性差,无法返回到促销网站。最有可能尝试一个带有自定义导航的iframe,因为这是一种令人畏惧的诱惑。 – pixi 2010-12-17 08:19:58

0

一个选项是添加自定义URL处理程序。然后,您的网站可以确定“broswer”是否为应用,并为您希望在应用中维护的这些链接(也称为开放)提供自定义网址。然后,任何标准的HTTP/s URL都将在Mobile Safari中打开。

换言之,您的网络服务器是否提供了像myappurl://这样的网址,您希望您的应用处理的链接以及可以打开Mobile Safari的http://。

相关问题