重定向旧浏览器Safari用户
Redirect Old Browers Safari Users
我正在使用此代码重定向safari用户。。。
<script>
var uagent = navigator.userAgent.toLowerCase();
if(/safari/.test(uagent) && !/chrome/.test(uagent))
{
window.location.href = "http://www.google.com"
}
</script>
但我需要一个脚本来重定向旧的safari浏览器,有人能帮我吗?
<script type="text/javascript">
window.onload = function () {
var uagent = navigator.userAgent.toLowerCase();
var safari = uagent.match(/safari'/('S+)/);
var chrome = uagent.match(/chrome'/('S+)/);
var MIN_SAFARI_VERSION = 900;
if(safari && !chrome) {
if (parseFloat(safari[1]) < MIN_SAFARI_VERSION) {
window.location.href = "http://www.google.com"
}
}
}
</script>
safari
的值将是["safari/(version number)", "(version number)"]
,因此safari[1]
将以字符串形式提供版本号。然后,您可以尝试将该值解析为float(或int)以获取版本号,然后根据结果进行重定向。
我已经设法创建了一个解决方案来解决@evan_schmevan的答案上的问题,因为它对我不起作用。
我的解决方案在uagent上以不同的格式运行。
希望能有所帮助。尝试片段
window.onload = function () {
var uagent = navigator.userAgent.toLowerCase();
var MIN_SAFARI_VERSION = 11;
console.log ("Your uagent: ||"+ uagent+"||");
//First, check if safari appears on the user agent
var safari = uagent.match(/safari'/('S+)/);
//Chrome shows SAFARI on its user agent, when used from //mac, then whe check this to ensure is not chrome
var chrome = uagent.match(/chrome'/('S+)/);
//If safari is detected on uagent
if(safari.length > 0 && !chrome ) {
console.log("Safari detected");
var version = uagent.match(/version'/([0-9]+)/);
console.log("Version detected: "+version[1]);
if(version[1] < MIN_SAFARI_VERSION) {
console.log ("OOPS!!! Version is lower than min required");
//window.location.href = "http://www.google.com"
}
}
else if (chrome.length>0)
{
console.log("Chrome detected");
}
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<html>
<body>
<h1> Detect your browser version</h1>
</body>
</html>
相关文章:
- 在Safari执行javascript之前对其进行修改
- 从远程脚本获取用户IP
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- Safari存在文本输入问题,用户输入时会选择文本,导致文本丢失
- iPad上Safari的用户超时
- 当用户在移动 Safari 浏览器上离开页面时暂停声音
- 如何在iOS7用户代理字符串中区分Chrome和Safari
- 为什么在用户滚动后,设置超时不会在触摸端处理程序中触发(iOS Safari)
- 想要在Safari的新选项卡中打开用户生成的URL
- 获取用户'来自Mobile Safari的电话号码
- AngularJS指令用于用户协议视图,检测启用按钮,不适用于移动safari
- 重定向旧浏览器Safari用户
- 检测用户是否通过iphone上的safari移动浏览器导航
- 我如何要求我的Safari浏览器用户使用谷歌浏览器为我的HTML网站
- 我如何不断地唠叨用户接受iPhone safari的地理定位?
- 我可以在移动Safari上使用用户CSS覆盖CSS吗?
- 用户事件后,Soundcloud自定义播放器不在移动safari上播放
- 需要一个解决方案,以阻止Safari浏览器阻止Facebook身份验证弹出框,允许用户登录到我的网站
- 最好的方法来检测iPad Safari用户
- 当用户单击safari扩展的工具栏命令时获得键盘修饰符