有没有办法只为桌面用户预加载特定的图像?(不包括移动用户)

时间:2021-09-29 作者:Ernest

我的网站有一些。在“我的联系人”页面的最开始处设置动画的PNG图像。这些图像有点重(因为它们有透明的背景),所以动画开始时会在动画期间加载其中一些图像,看起来很糟糕。

所以,为了修复它,我必须添加这一行<link rel="preload" as="image" href="url-of-the-image.png"/><head>.

为了实现它,我使用Snippets plugin. 如果我没弄错的话,这个片段应该是这样的:

add_action( \'wp_head\', function () { ?>

function my_custom_js() {
    echo \'<link rel="preload" as="image" href=href="url-of-the-image.png"/>\';
}

<?php } );
问题是,同一个页面(我的联系人页面)对于移动设备是不同的:它不使用这些页面。PNG图像,因为手机加载时间太长。

这就引出了我的问题:Is there a way to exclude mobile devices from the preloading tag I must add to the head?

2 个回复
最合适的回答,由SO网友:Ernest 整理而成

好吧,那么I ended up using "prerender" instead of "preload" 因为它适合我的情况(prerender在用户访问目标页面之前开始呈现目标页面,在我的情况下,它更适合,因为我想要预加载的页面不是首页)。

对于任何有兴趣了解预加载或预取响应能力的人,the property "media" 就是你要找的。应该是这样的:

<link rel="preload" as="image" href="imageURLhere.png" media="(min-width: 768px)"/>
。。。或者,如果要将整个页面作为预呈现的目标,请执行以下操作:

<link rel="prerender" href="targetPageURL/" media="(min-width: 768px)">
这样只会preloadprerender 如果视口位于media 条件范围。

希望有帮助!干杯

SO网友:Maulik Paddharia

您可以使用wp\\u is\\u mobile()检查它是移动设备还是桌面用户。

<?php if ( wp_is_mobile() ) : ?>
    /* Display and echo mobile specific stuff here */
<?php else : ?>
    /* Display and echo desktop stuff here */
<?php endif; ?>

相关推荐

如何清理wp-content/plugins/wordpress-seo中不必要的文件?

我目前维护Wordpress网站7年。磁盘使用率最近已满,因此我需要定期检查自动备份并保存这些备份,然后将其从服务器中删除。当我检查时,插件文件夹中的wordpress seo文件夹(这是Yoast seo默认插件文件夹)占用了太多空间。据我所知,它充满了各种版本的插件文件。确切地说,它位于wordpress seo插件的js/dist文件夹中。它包含几种类型的小型javascript,每个名称的末尾都有某种序列或版本号,总容量约为250-300 MB。我可以清理这些文件吗?如果是,是否安全?如果我从以前