iPhone Safari 上“添加到主屏幕”的 url 可以自定义吗?

问题描述 投票:0回答:5

“添加到主屏幕”显示在网站的所有页面上,我希望 URL 成为保存的主页。

例如本页: http://www.domain.com/category/page.html

“添加到主屏幕”是否可以保存此网址: http://www.domain.com

任何帮助将不胜感激。

iphone ios mobile safari mobile-safari
5个回答
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 可能是有意义的,但我会将其留给您自己的 UX 判断。


5
投票

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

您需要做的就是使用这个简单的 javaScript:

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

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

}

确保将此 html 代码添加到您的页面中:

<meta name="apple-mobile-web-app-capable" content="yes">

1
投票

不,没有越狱(据我所知,没有任何东西可以实现这一点),没有办法编辑实际的URL。

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


0
投票

我用它来填充 iPhone 上“共享”书签的 URL:

history.pushState('','','/');

这很有效,因为我只需要剪切主域的 URL。 (我使用 document.title="newName" 来设置书签图标的屏幕名称。)


0
投票

当提出问题时,这并不存在,但清单中的 start_url 字段允许这样做:

https://developer.mozilla.org/en-US/docs/Web/Manifest/start_url

不幸的是,这不允许动态控制,因为清单通常会在开始时获取。例如,它不允许让它记住用户正在进行的搜索,但删除页码,因此保存的搜索在稍后打开时不会从下三页开始。

© www.soinside.com 2019 - 2024. All rights reserved.