我以前见过对此的“解决方案”,但有一个重大缺陷!
这就是我想要实现的目标;
我有一个需要用户登录才能使用的网络应用程序。出于各种原因,我不希望它仅通过主屏幕在常规 Safari 中使用(从美学上讲,它仅在全屏时才真正“起作用”)。
因此,当用户浏览该站点时,它应该检测它是通过主屏幕(在这种情况下显示登录页面)还是常规 safari(在这种情况下显示一个启动屏幕,邀请查看者将其添加到他们的主屏幕)。
我可以成功检测到它是通过主屏幕打开还是现在(使用 window.navigator.standalone)打开,但是我遇到的所有解决方案都涉及将用户重定向到另一个页面,如果它没有通过主屏幕打开。这样做的问题是用户将书签(或添加到主屏幕)错误的页面。据我所知,没有办法指定要添加到主屏幕的不同页面。
我尝试了以下方法,但似乎不起作用;
/* Added to login page head */
$(document).ready()
if (window.navigator.userAgent.indexOf('iPhone') != -1) {
if (window.navigator.standalone == true) {
initialize();
}else{
$('.container').load('/install.cfm')
}
}else{
$('.container').load('/install.cfm')
}
编辑:根据@scunliffe 的评论,我现在尝试了以下方法,这也不起作用(在脚本执行之前加载了jQuery,所以这不应该是问题);
if (window.navigator.userAgent.indexOf('iPhone') != -1) {
if (window.navigator.standalone == true) {
$('#logindiv').show;
}else{
$('#installdiv').show;
}
}else{
$('#installdiv').show;
}