我有一个 JavaScript 代码来重定向手机用户。您能否检查一下代码,我是从网上获取的,完全是新手,我很重视您对脚本质量的意见...
是否涵盖所有类型的手机?
function RedirectSmartphone(url) {
if (url && url.length > 0 && IsSmartphone())
window.location = url;
}
function IsSmartphone() {
if (DetectUagent("android")) return true;
else if (DetectUagent("iphone")) return true;
else if (DetectUagent("ipod")) return true;
else if (DetectUagent("symbian")) return true;
return false;
}
function DetectUagent(name) {
var uagent = navigator.userAgent.toLowerCase();
if (uagent.search(name) > -1)
return true;
else
return false;
}
RedirectSmartphone("http://mobile.version.com");
最佳答案
我在我的网站上运行了下面的代码(经过明显的轻微修改),它似乎在 Android、iPad、iPhone 和黑莓上运行得很好。我为我的 PHP 页面使用 PHP 版本,为我的 CGI/PERL 页面使用此代码,两者具有相同的效果。
<script type="text/javascript">
function RedirectSmartphone(url){
if (url && url.length > 0 && IsSmartphone())
window.location = url;
}
function IsSmartphone(){
if (DetectUagent("android")) return true;
else if (DetectUagent("blackberry")) return true;
else if (DetectUagent("iphone")) return true;
else if (DetectUagent("opera")) return true;
else if (DetectUagent("palm")) return true;
else if (DetectUagent("windows")) return true;
else if (DetectUagent("generic")) return true;
else if (DetectUagent("ipad")) return true;
else if (DetectUagent("ipod")) return true;
return false;
}
function DetectUagent(name){
var uagent = navigator.userAgent.toLowerCase();
if (uagent.search(name) > -1)
return true;
else
return false;
}
RedirectSmartphone("http://mobile.version.com");
</script>
关于重定向手机用户的Javascript代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6984541/