“添加到主屏幕”显示在网站的所有页面上,我希望 URL 成为保存的主页。
例如本页: http://www.domain.com/category/page.html
“添加到主屏幕”是否可以保存此网址: http://www.domain.com
任何帮助将不胜感激。
我找到了一种解决方法。您可以检测到您是通过 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 判断。
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">
不,没有越狱(据我所知,没有任何东西可以实现这一点),没有办法编辑实际的URL。
苹果限制这一点至少有一个我能想到的原因:安全。编辑 URL 将允许人们使用 JavaScript,这将不可避免地导致恶意软件。
我用它来填充 iPhone 上“共享”书签的 URL:
history.pushState('','','/');
这很有效,因为我只需要剪切主域的 URL。 (我使用 document.title="newName" 来设置书签图标的屏幕名称。)
当提出问题时,这并不存在,但清单中的 start_url 字段允许这样做:
https://developer.mozilla.org/en-US/docs/Web/Manifest/start_url
不幸的是,这不允许动态控制,因为清单通常会在开始时获取。例如,它不允许让它记住用户正在进行的搜索,但删除页码,因此保存的搜索在稍后打开时不会从下三页开始。