我有一个使用OAuth认证的应用程序,这意味着用户必须直接到网站批准的应用程序。 我宁愿让它明显的是,他们使用标准的浏览器,在原来的网站,而不是仅仅使用Web视图来显示我的应用程序中的内容对用户进行授权。 然而,每一次他们是针对Safari浏览器(通过的OpenURL)的时候,它会启动一个新的Safari窗口和Safari浏览器一旦有8个窗口开放,它只是没有在所有的工作。
我想知道如果有一个equivalen一个锚标记HTML中的“目标”的属性,它可以让我使所有的OpenURL从我的应用程序调用在同一个窗口中打开。
还有,我可以通过网络应用程序公开,创建本机iPhone的功能和Safari网络应用功能之间的混合应用程序等功能,但如果我必须每次我的应用程序和Safari浏览器之间切换的时间推出一个新的窗口,它变得不可行。 YouTube应用显然是能够显示视频后,用户返回到前一页,但很可能是在Safari中的自定义插件的iPhone。 此外,在返回到前一个页面是有点用,送他们到一个新的URL在现有的窗口,真正开启了很多possiblities的。
我敢肯定是没有办法的目标参数传递到openURL:
我注意到了有关Safari是,如果你的页面与打开它不会打开另一个选项卡中openURL:
是/已经在Safari中打开。 它只是重新加载该页面。 这可能听起来微不足道,而不是有益的,但也许你可以用它来你的优势,如果你可以让你的web应用程序只使用一个页面。 不同的视图或状态可与表达#anchor
标签。
一个例子是http://m.flickr.com 。 请注意他们的URL结构呢? 它去http://m.flickr.com/#/home , http://m.flickr.com/#/explore/interesting/ , http://m.flickr.com/#/search等。 所有这些都是不同的网页的用户,但Safari浏览器这一切都在同一页。
我发现的iOS 6.0.1 Safari会打开相同的标签用一个简单的主题标签,没有斜线。 因此,与上述例子http://m.flickr.com ,的OpenURL到HTTP://m.flickr.com#someinfo打开相同的标签。
在您的网页,使用window.location.hash返回PARAMS。 在上面的例子中,将返回#someinfo。