简单的回答,不,从 SEO 的角度来看这不好。或者任何其他立场。像谷歌这样的爬虫被设计成完全忽略所有hidden
因此,如果您的内容没有被完全抓取,您将失去重要的 SEO 排名,并且爬虫会伪装成移动设备多次抓取每个网站,以检查该网站是否也适合移动设备。http://www.seonick.net/responsive-design-seo/ http://www.seonick.net/responsive-design-seo/
更不用说如果内容只是隐藏的话,计算 0.5mb 的任意截止点的麻烦就没有任何意义(因为无论如何它都会被发送,因此不会节省带宽)。
您需要使用媒体查询在纯 CSS 中执行此操作,这是最兼容的方式,并且允许流畅的设计(随着窗口大小的调整而随时更改)。
<link rel="stylesheet" media="(max-width: 700px)" href="mobile.css">
<link rel="stylesheet" media="(min-width: 700px)" href="full.css">
如果窗口小于 700px,则将使用一个 css 文件,如果窗口超过,则使用另一个 css 文件。
我更喜欢的另一个方法是使用http://mobiledetect.net/ http://mobiledetect.net/班级。其体积小、速度快、精度更高、灵活性更好。加载该类,然后根据访问者的浏览器将类添加到您的 body 元素中
<body class="<?PHP if ($detect->isMobile() && !$detect->isTablet()) echo " .phone";?>">
然后通过内部的目标类来设计样式body.phone
。此方法还确保您在 DOM 开始处理之前知道浏览器是否是移动的,这意味着您可以通过一些简单的逻辑提供图像的压缩版本,而不是让 CSS 交换它们或只是调整它们的大小或忽略标记的整个部分。发送给用户以确保带宽仅用于与用户设备相关的 DOM 部分。
<body>
This is normal content and will be visible to all devices
<?PHP if (!$detect->isMobile()) { ?>
This content will only be visible to desktop users, in fact it wont even be transmitted to mobile users thus making it NOT in the DOM
<?PHP } ?>
</body>