2012-01-16 76 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會以「應用模式」打開鏈接。

「應用程序模式」也被稱爲「獨立模式」。

相關問題