Javascript 从UIWebView*启动mobile Safari而不修改*应用程序源?
我正在开发一个小网站,它只能在UIWebView中的应用程序中查看,并且一个页面有几个指向外部网站的链接。我希望这些在mobile Safari中打开,但应用程序中的所有链接都会加载到webview中。修改应用程序的源代码不是一个选项,因为在提交任何更改之前,站点需要处于活动状态 有没有办法强制UIWebView中的链接使用HTML/5或Javascript启动mobile Safari?模拟Javascript 从UIWebView*启动mobile Safari而不修改*应用程序源?,javascript,iphone,html,uiwebview,mobile-safari,Javascript,Iphone,Html,Uiwebview,Mobile Safari,我正在开发一个小网站,它只能在UIWebView中的应用程序中查看,并且一个页面有几个指向外部网站的链接。我希望这些在mobile Safari中打开,但应用程序中的所有链接都会加载到webview中。修改应用程序的源代码不是一个选项,因为在提交任何更改之前,站点需要处于活动状态 有没有办法强制UIWebView中的链接使用HTML/5或Javascript启动mobile Safari?模拟是否应使用请求加载?鬼鬼祟祟的解决办法还是绝妙的替代方案 (而且,纯粹出于好奇……为什么不呢?让网站通过
是否应使用请求加载?鬼鬼祟祟的解决办法还是绝妙的替代方案
(而且,纯粹出于好奇……为什么不呢?让网站通过简单的HTML访问iPhone上的框架是一种糟糕的设计。这将打开各种安全漏洞。它不是你想要改变的网络行为,所以我认为你可能需要改变应用程序的来源。我还是不明白为什么这不是一个选择。您能更深入地了解一下吗?一个选项是添加自定义URL处理程序。然后,您的网站可以确定“broswer”是否为应用程序,并为您希望在应用程序中维护(也称为打开)的链接提供自定义URL。然后,任何标准HTTP/s URL都将在Mobile Safari中打开
换句话说,让您的web服务器为您希望应用程序处理的链接提供类似myappurl://的URL,以及打开Mobile Safari的http://等URL。这是有道理的-我从未充分考虑过安全风险。由于时间限制,无法更改应用程序源;webview包含一个用于假日促销的iAd风格的网站,在我们推出新版本之前,该网站必须是实时的。(也无法控制最终服务器。)启动mobile Safari是理想的解决方案,因为外部站点的可用性很差,而且无法返回到促销站点。最有可能的是尝试一个顶部有自定义导航的iframe,因为这会让人感到畏缩。