Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重定向到移动网站_Javascript_Navigator - Fatal编程技术网

Javascript 重定向到移动网站

Javascript 重定向到移动网站,javascript,navigator,Javascript,Navigator,我已经编写了几行java脚本代码。但我不确定这是否正确。 几个月前,我发布了一个桌面版的网站。但当用户通过手机(比如android、iPhone或可能是windows phone)时,我想重定向一条新路径。代码如下: // JavaScript Document var uAgent = navigator.userAgent.toLowerCase(); if(uAgent.indexOf("android") > -1 || uAgent.indexOf("iphone") >

我已经编写了几行java脚本代码。但我不确定这是否正确。 几个月前,我发布了一个桌面版的网站。但当用户通过手机(比如android、iPhone或可能是windows phone)时,我想重定向一条新路径。代码如下:

// JavaScript Document
var uAgent = navigator.userAgent.toLowerCase();

if(uAgent.indexOf("android") > -1 || uAgent.indexOf("iphone") > -1 || uAgent.indexOf("windows phone") > -1) {
    window.location = "http://website path will come here.";
}

这是正确的代码吗?

如果您真的需要检测移动浏览器(而不是像on那样制作一个移动友好的响应式布局,只在移动浏览器上工作-谷歌的“移动优先”和“响应式设计”以获取更多示例),请查看以下链接:


手机浏览器有很多种,不仅仅是iPhone、Android和Windows,所以如果你想检测到它们,你需要正确的操作。另请参阅,这是一个非常好的移动框架,可以让您的生活更加轻松。

这是可行的,但出于以下几个原因,这不是一个很好的方法:

  • 禁用JavaScript的用户将不会被重定向

  • 移动用户(有些浏览器速度慢,带宽限制紧)会在被重定向到移动站点之前下载您的桌面页面

  • 如果可能的话,更好的方法是通过web服务器配置进行管理,理想情况下不需要任何重定向。或者,考虑向所有用户提供相同的内容,并用媒体查询更改布局。

    uAgent.indexOf("android") > -1
    
    Android不仅仅是智能手机的操作系统。它还可以在很多平板电脑上运行,这些平板电脑可以轻松处理大多数网站的桌面优化版本。我的一个朋友刚刚抱怨说,有些网站只为他的GalaxyTab提供移动版,尽管普通版在他的10.1英寸屏幕上看起来不错


    你还忘了黑莓和symbian手机。

    属于可能的副本。这是一个很好的资源。但所有的代码都是压缩的。那么,有没有关于如何使用所有这些的文档。不仅是平板电脑,我还看到过运行安卓的上网本和笔记本电脑。我只想要安卓、iPhone和windows phone。我只是在试验。通过感谢您的回复。或者,您可以使用一个小的网关页面,当您确定用户代理时,该页面将重定向到桌面和移动版本,并允许用户在用户代理不明确或禁用javascript时进行选择。在某些情况下,允许用户随时在两个版本之间跳转也可能很有用任何设备上的Casion。当您的网站由于某种原因加载速度非常慢时,即使是桌面用户也可能希望切换到带宽较低的移动版本,而智能手机用户可能希望在他们认为浏览器可以处理的情况下尝试完整版本。好的。还有一个疑问。在上面的代码中,当我检查字符串“android”时“,假设它被找到并且uAgent是android,那么它将在所有android设备上工作。但我希望平板电脑设备的性能有所不同。对于平板电脑设备,我希望显示网站的桌面版本。那么我将如何检查它。任何想法。手机/平板电脑的用户代理列表都会不断变化,如果你试图自己维护一个列表,那将是一项艰巨的工作。我建议您尝试寻找一个现有的框架(参见其他答案中的链接),它可以为您做到这一点。或者,您可以编写一些JavaScript来检查屏幕的高度/宽度,并基于此做出决定。