Javascript 如何根据屏幕分辨率发送完全不同的HTML内容?

Javascript 如何根据屏幕分辨率发送完全不同的HTML内容?,javascript,php,html,Javascript,Php,Html,我需要根据屏幕分辨率向客户端发送单独的内容 在这一刻,所有的内容都被传递到页面index.php,通过CSS我显示或不显示我想要的部分 缺点是:页面的全部内容总是交付给客户端。只是显示器改变了。这毫无意义地增加了手机的流量 我的目标是能够始终调用index.php,根据分辨率真正交付不同的HTML内容,这样,移动设备的流量就可以大大减少(在我的例子中,是一个列表和10行CSS,而不是JS的音调、不同的CSS等)和桌面,它只发送它们真正需要显示的内容 是否可以使用PHP/JS同时兼容谷歌搜索引擎优

我需要根据屏幕分辨率向客户端发送单独的内容

在这一刻,所有的内容都被传递到页面
index.php
,通过CSS我显示或不显示我想要的部分

缺点是:页面的全部内容总是交付给客户端。只是显示器改变了。这毫无意义地增加了手机的流量

我的目标是能够始终调用
index.php
,根据分辨率真正交付不同的HTML内容,这样,移动设备的流量就可以大大减少(在我的例子中,是一个列表和10行CSS,而不是JS的音调、不同的CSS等)和桌面,它只发送它们真正需要显示的内容


是否可以使用PHP/JS同时兼容谷歌搜索引擎优化?

您可以嗅探用户代理字符串,尝试确定用户是否在移动设备上,然后以这种方式返回不同的内容,但请注意,这并不总是准确的

为了避免自己检测所有类型的设备,您可以使用或类似的方法

$detect = new Mobile_Detect;

if ($detect->isMobile() && !$detect->isTablet()) {
    // all mobile devices excluding tablets (i.e. phones)
    include('phone_template.php');
} else if($detect->isTablet()) {
    // all tablets
    include('tablet_template.php');
} else {
    // everything else
    include('desktop_template.php');
}
同样,这是基于用户代理字符串的,这是spoofable(hell chrome允许您在开发人员工具中测试不同的屏幕大小)


它可能并不完美,但它可能会让您度过难关。

也许使用ajax?到目前为止,您尝试了什么?理想情况下,您将始终显示所有设备上的内容,并使用ajax加载额外的内容。你可以改为重定向。没错,重定向可能是最好的。它不是最好的,它会是最简单的。但是一个不是301的重定向,对谷歌来说似乎不是一个好东西。。。看来排名会被扣分。。。我想用JS做不到301。我错了吗?很好的解决方案,Samlev。为了避免直接加载desktop.php和portable.php,我使用了一些设置:用户应该通过index.php进行传递,否则会被重定向。它工作得很好。非常感谢你。现在我正忙于剩下的优化工作