2012-01-16 83 views
0

我正试图在iPhone独立Web应用程序中获取链接,以便在网络应用程序内部而不是Safari浏览器中打开链接。iPhone Safari Web App在使用javascript时在新窗口中打开链接:history.go(-1)

我已经找到这个话题iPhone Safari Web App opens links in new window 帮了我很多。 history.go(-1):我已经rmarscher

<script>(function(a,b,c){if(c in b&&b[c]){var d,e=a.location,f=/^(a|html)$/i;a.addEventListener("click",function(a){d=a.target;while(!f.test(d.nodeName))d=d.parentNode;"href"in d&&(d.href.indexOf("http")||~d.href.indexOf(e.host))&&(a.preventDefault(),e.href=d.href)},!1)}})(document,window.navigator,"standalone")</script> 

我遇到的问题是,当我的应用程序使用的JavaScript的链接使用的答案。如果点击history.go(-1)后点击链接,它将在safari中打开,而不是在web应用程序中打开。

有人可以看看代码,看看是否有解决这个问题?

+0

你是否在为你的应用使用'UIWebView'? – sergio 2012-01-16 18:22:54

+0

@sergio它只是一个运行在safari中的网站,您添加到主屏幕。所以不,我猜不是。 – 2012-01-16 18:27:15

回答

0

不幸的是,如果Web应用程序在“应用程序模式”下使用,它从主页访问并且没有默认的Apple导航栏,那么JavaScript历史API将不起作用。您必须使用“直接链接”并链接到实际页面。您拥有的脚本正是这样做的,当某人在“应用模式”中点击您网站上的链接而不是“外部”网站时,iOS会以“应用模式”打开链接。

“应用程序模式”也被称为“独立模式”。

相关问题