我做了一个网站,index.php是一个简短的动画文本系列(不是我的主意,我建议不要这样做,但我不是老板),但无论如何,我对这个动画的问题是它不受IE支持,也不响应,所以它在手机上看起来也很糟糕。
我的问题是,这里有人听说过我可以使用的脚本或jquery吗?它可以嗅探浏览器(IE>1、Android、IO等),并将它们重定向到同一网站内的home.php?
也许是一个带有标题的PHP脚本:Location。。。我什么都不知道。
p.s.我在堆栈溢出中尝试了我读到的所有内容,但都不起作用。
这是我得到的最接近任何回应,但不是我想要的
<script type="text/javascript">
var sBrowser, sUsrAg = navigator.userAgent;
if(sUsrAg.indexOf("Chrome") > -1) {
sBrowser = "Google Chrome";
} else if (sUsrAg.indexOf("Safari") > -1) {
sBrowser = "Apple Safari";
} else if (sUsrAg.indexOf("Opera") > -1) {
sBrowser = "Opera";
} else if (sUsrAg.indexOf("Firefox") > -1) {
sBrowser = "Mozilla Firefox";
} else if (sUsrAg.indexOf("MSIE") > -1) {
sBrowser = "Microsoft Internet Explorer";
}
alert("You are using: " + sBrowser);
</script>
提前感谢
您的浏览器标识工作正常,只需要使用javascript重定向即可。
因此,大致如下:
var sUsrAg = navigator.userAgent;
if(sUsrAg.indexOf("Mobile") > -1) {
window.location = '/unsupportedpagemobile.html';
} else if (sUsrAg.indexOf("MSIE") > -1) {
window.location = '/unsupportedpageie.html';
}
</script>
大多数CSS动画在现代版本的Internet Explorer中处理得很好。事实上,Internet Explorer在许多竞争对手之前就支持不固定的属性。由于供应商前缀的使用不平衡,您的CSS动画可能无法在IE中工作。你是不是只针对-webkit-transition
和-moz-transition
这样的东西,忘记了还包括transition
?
不过,您的动画在早期版本的Internet Explorer中不起作用,除非您使用$.fn.animate
用jQuery对其进行多重填充以实现类似的行为。考虑到你正在做的动画类型,这可能是可能的,也可能是不可能的——如果只是滑动文本,并将其淡入/淡出,那么你肯定可以在旧版本的IE中获得同样的效果。
最后一种选择是创建IE特定的条件注释,并在其中放置一个脚本,以将用户重新定位到另一种体验。不要参与浏览器嗅探;你会把IE11(可以处理你的现代体验)的用户赶走,这毫无意义。相反,请使用您希望针对的浏览器提供的功能;诸如有条件的评论。
<!--[if lte IE 9]>
<script>
/*
In this space we can do one of two things:
1) Redirect user to an alternative experience with window.location, or
2) Provide animations via jQuery .animate method.
*/
</script>
<![endif]-->