0

我在一个目录中有两个页面用于 iOS Web 应用程序。一个是index.html,另一个是detail.html。

在 index.html 中,有一个指向 detail.html 的链接,如下所示

<a href="detail.html">
Redirect 
</a>

我在 iPhone 的 safari 中打开 index.html,然后将 index.html 添加到主屏幕。然后我从主屏幕打开这个网络应用程序。当点击“重定向”时,网络应用程序进入后台,然后 Safari 打开 detail.html 并进入前台。

如何在 Web 应用程序本身中打开 detail.html 而不重定向到 safari?特别感谢!

4

2 回答 2

2

要结合克服此类 webapps 问题所需的所有功能,您可以简单地使用这个库http://iosjs.com/features/

如果您正在寻找快速修复:

$( document ).on("click","a",function( event ){


   if($( event.target ).attr( "href" )){

   var str    = $( event.target ).attr( "href" );
   var patt   = /^#/g;
   var match  = str.match(patt);

  // Stop the default behavior of the browser,ie to change the URL of the page.

    event.preventDefault();

  // Manually change the location of the page to stay in "Standalone" mode 
  //  and change the URL at the same time.

    location.href = $( event.target ).attr( "href" );
);

这将处理所有锚标记。您可以使用“匹配”变量来排除带有“#”值的href。

该博客将为您提供相同的示例:: http://www.bennadel.com/blog/2302-Preventing-Links-In-Standalone-iPhone-Applications-From-Opening-In-Mobile-Safari.htm

于 2012-10-23T06:11:54.267 回答
1

我在https://developer.apple.com/library/archive/documentation/AppleApplications/Conceptual/Dashcode_UserGuide/Contents/Resources/en.lproj/MakingaWebApp/MakingaWebApp.html#//apple_ref/doc/uid/TP40004692中找到了解决方案-CH18

我终于使用 javascript 而不是标签。

<SCRIPT LANGUAGE="JScript">
function toDetail() {
    document.location=('detail.html');
}
</SCRIPT>

<div class="cell" onclick="toDetail()">
</div>
于 2012-09-15T04:39:49.967 回答