如果视口大于 1024 像素,则包含带有 php 的语义图像

include semantic images with php if view port is larger than 1024px

我一直在寻找一种解决方案来帮助提高移动优先响应网站的性能。

问题:

我需要为网站制作 SEO 友好的内联图像。我做的一件事是使用 picturefill.js 为较小的设备提供较小的图像。 但是...在我从设计师那里得到的设计中,移动设备的图片较少(只有 3 张),桌面图片只有 9 张。这意味着,如果它们必须是内联和语义的,小型设备仍会请求其他 6 个,这对于慢速 3g 连接来说似乎很多。

那么,如果在比普通手持设备大的屏幕上查看,有什么好的方法可以包含图像(不是背景 + display:none)吗?php?

希望这不会被视为 "blackhat" seo。

执行此操作的最佳方法是检查发出请求的用户代理。这不是一个万无一失的证明,但你可以用它解决你的大部分用例。
来自 PHP docs 的类似内容:

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>

一旦您知道发出请求的用户代理,您就可以为该请求者提供适当的版本。

if($type_a){
//do type a stuff
}else{
//do type !a stuff 
}

一些极端情况包括 Android 的各种屏幕尺寸。这也是不正确的 "responsive",更多的是 "mdot" 解决问题的方法,但坦率地说,您的设计也是如此。在我看来,真正的响应要么依赖于基于视口的延迟加载资源,要么纯粹依赖 js、html 和 css 来提供相同的版本来解决问题。