2012-06-04 44 views

回答

11

我发现了一种解决方法。您可以通过window.navigator.standalone并根据可能的重定向检测到您是从主页启动的。

另外,我已经做了一些测试,发现在最新的iOS上,不同的用户代理被报告给服务器,这就打开了更快的重定向的可能性。我无法找到任何关于这是否一直如此的信息。从主页

启动:

Mozilla/5.0 (iPhone; CPU iPhone OS 6_0_1 like Mac OS X) 
AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10A523 

移动Safari浏览器:

Mozilla/5.0 (iPhone; CPU iPhone OS 6_0_1 like Mac OS X) 
AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A523 Safari/8536.25 

如果你的页面能够获取大部分通过AJAX它的内容,或者您​​发现服务器上的不同的用户代理可能是可能会跳过重定向,只是在另一个URL上“好像”一样,因为在独立模式下,URL无法看到。我正在调查这件事,但还没有足够的话来说明它是否会烧你。

另请注意,用户选择标记为应用程序的URL可能很有意义,但我会将其留给您自己的用户体验判断。

+1

[openappmkt](http://openappmkt.com)做这样的事情 – comp500

1

没有,没有被越狱(并且没有任何我知道的达到此目的),没有办法编辑实际的URL。

苹果限制这至少有一个我能想到的原因安全。编辑URL会让人们使用JavaScript,这将不可避免地导致恶意软件。

+0

对于安全技巧,我总是很幼稚,但这是其中一种情况,在天真的情况下,它只能由应用程序提供商编辑,您已经信任它,并且在恶意的XSS情况下已经有很多更糟的事情可以对你做,以至于这一个并不特别有趣。或者是? – svachalek

+2

如果存在元标记,它可以在没有javascript的情况下完成。它可能只是像

+0

我试过这个元标记。但它不按预期工作 – Guru

3

WrightsCS和svachalek的结合答案 - 您无法将远程页面添加到主屏幕,但是,您可以在将页面添加到主屏幕后重定向页面。

所有你需要做的就是用这个简单的JavaScript:

if ("standalone" in window.navigator && window.navigator.standalone){ //checks if you're in app mode 

    window.location = 'http://www.domain.com'; //the URL you want to refer to. 

} 

确保你这个HTML代码添加到您的网页:

<meta name="apple-mobile-web-app-capable" content="yes"> 
相关问题