2015-01-14 18 views
0

我在主頁中添加了Web應用程序。Web應用程序在Safari中打開鏈接,而不是在現有視圖中

當我以快捷方式打開應用程序時,其外觀與其他本機一致。例如典型的Safari Tabbar消失。網址欄是隱藏的。等

在主頁上,我有一些標籤和鏈接到同一應用程序內的其他頁面。通常,他們是這樣的

<a class="content" href="/myapp/16270001"> 
    <span class="name" style="word-wrap: break-word;">Test Link </span> 

</a> 

當我點擊鏈接,就會直接進入Safari瀏覽器和開放http://myapp.com/myapp/16270001,而不是原來的觀點對外開放。

我該如何使鏈接動作保持在應用的視圖中?

+0

你在鏈接上試過'target =「_ self」'嗎? –

+0

[iPhone Safari Web App在新窗口打開鏈接]的可能重複(http://stackoverflow.com/questions/2898740/iphone-safari-web-app-opens-links-in-new-window) – SWa

回答

0

然後,您添加到主屏幕網頁,它成爲一個獨立的應用程序。你可以通過navigator.standalone標誌來檢查這個狀態是iOS。 嘗試4歲github gist。我用它,它的工作原理。 您可以通過bower使用它:

涼亭安裝--save iosweblinks

附:我在standalone模式下用Safari防止在Safari中打開鏈接的修改腳本:

(function (standalone) { 

    if (!standalone) { 
     return; 
    } 

    document.addEventListener('click', function (e) { 
     var element = e.target, 
      href = ''; 

     while (!/^(a|html)$/i.test(element.nodeName)) { 
      element = element.parentNode; 
     } 

     if (element.getAttribute) { 
      href = element.getAttribute('href'); 

      if ('' !== href && '#' !== href && null !== href && (!element.protocol || element.protocol !== 'tel:')) { 
       e.preventDefault(); 
       window.location = element.href; 
      } 
     } 
    }, false); 

}(window.navigator.standalone)); 
相關問題