Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从UIWebView*启动mobile Safari而不修改*应用程序源?_Javascript_Iphone_Html_Uiwebview_Mobile Safari - Fatal编程技术网

Javascript 从UIWebView*启动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?模拟是否应使用请求加载?鬼鬼祟祟的解决办法还是绝妙的替代方案 (而且,纯粹出于好奇……为什么不呢?让网站通过

我正在开发一个小网站,它只能在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,因为这会让人感到畏缩。