我有一个应用程序,我想根据用户的导航位置将用户重定向到不同的页面。
如果从网络剪辑导航,请不要重定向。如果从移动版 Safari 导航,重定向到 safari.aspx。如果从其他任何地方导航,重定向到 unavailable.aspx
我能够使用 iPhone WebApps,有没有办法检测它是如何加载的?主屏幕 vs Safari? 确定用户是否从网络剪辑导航,但我无法确定用户是否从 iPhone 或 iPod 上的移动 Safari 导航。
这是我所拥有的:
if (window.navigator.standalone) {
// user navigated from web clip, don't redirect
}
else if (/*logic for mobile Safari*/) {
//user navigated from mobile Safari, redirect to safari page
window.location = "safari.aspx";
}
else {
//user navigated from some other browser, redirect to unavailable page
window.location = "unavailable.aspx";
}
原文由 Steven 发布,翻译遵循 CC BY-SA 4.0 许可协议
更新:这是一个非常古老的答案,我无法删除它,因为答案已被接受。检查 下面不知情的答案 以获得更好的解决方案。
您应该能够检查 用户代理 字符串中的“iPad”或“iPhone”子字符串: