Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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_Html_Css_Twitter Bootstrap_Responsive Design - Fatal编程技术网

Javascript 使网站与手机兼容的最佳策略

Javascript 使网站与手机兼容的最佳策略,javascript,html,css,twitter-bootstrap,responsive-design,Javascript,Html,Css,Twitter Bootstrap,Responsive Design,我正在维护一个遗留网站,多年来,它已经变成了一个由破碎的、不正确的、过时的html、iFrame、到处都是的脚本标记、无数的分析代码片段、内联css样式、硬编码像素调整等组成的丛林 然而,事实是,该网站在桌面环境中看起来非常好。(分辨率为1360*768及以上时不会中断)。而且它在谷歌的页面排名也很好。现在谷歌正在改变它的页面排名,我需要让这个网站与手机兼容。我尝试使用引导和媒体查询,但我认为转换当前html是一场噩梦 我想检查的是,有没有其他方法可以使用?我在想,当用户使用移动设备访问同一UR

我正在维护一个遗留网站,多年来,它已经变成了一个由破碎的、不正确的、过时的html、iFrame、到处都是的脚本标记、无数的分析代码片段、内联css样式、硬编码像素调整等组成的丛林

然而,事实是,该网站在桌面环境中看起来非常好。(分辨率为1360*768及以上时不会中断)。而且它在谷歌的页面排名也很好。现在谷歌正在改变它的页面排名,我需要让这个网站与手机兼容。我尝试使用引导和媒体查询,但我认为转换当前html是一场噩梦

我想检查的是,有没有其他方法可以使用?我在想,当用户使用移动设备访问同一URL时,如何在同一URL中显示完全不同的页面


任何提示都非常受欢迎。

从现有的、糟糕的桌面设计中做出一个响应良好的设计是不可能的。使用移动优先的方法,开始新的工作要容易得多

但是如果你不能,也不想破坏桌面设计,你完全可以用JavaScript将移动用户转移到不同的站点(比如m.domain.com)


以下是一些信息:

您可以基于用户代理呈现不同的移动兼容HTML页面。 例如,您可以使用预请求处理器检查用户代理的请求头,以及模式是否与任何移动模式匹配

  • 您可以将用户重定向到另一个url,例如
    m.yourwebsite.com
  • 您可以替换要呈现的基础HTML页面(例如,假设url映射到
    /path/to/templates
    ,它将更改为
    /path/to/mobile templates/
    。文件名相同)
  • 您可以简单地根据请求设置一个变量,并在HTML文件本身内做出决定。例如,在模板中,您可以

    {%if request.is_mobile%}
    /url/to/mobile.css
    {%else%}
    /url/to/desktop.css
    {%endif%}

  • 选项1是大量工作,选项3是最少的工作量。我们选择了选项2。不建议使用选项3,因为它可能会导致HTML页面出现问题(我们这样做是为了较小的静态页面,如关于我们的隐私等)


    谷歌似乎更喜欢具有响应性的网页设计的同一个领域,而不是一个子领域,尽管还没有定论。下面是我要说的。因此,对于所有设备来说,使用相同的URL是首选方式。

    谢谢您的回答,如果我这样做,这会影响现有URL的排名吗?嗯,我忘记了主要问题,不是吗?:)很抱歉这是不可能知道的,但我不认为一个单独的网站会提高你的排名。不。你会更好地进行媒体查询——但这可能是很多黑客行为,其结果可能是一个丑陋的移动网站。从谷歌网页排名的角度来看,一个新的手机优先设计是你能做的最好的(在一个完美的世界里,但我理解:))。根据谷歌的说法,对于不同的设备,他们更喜欢相同的URL和HTML,而不是不同的URL。看见