【发布时间】:2021-04-27 20:44:09
【问题描述】:
我正在尝试仅在移动设备上加载 CSS 文件。
我做了一些研究,发现最好的方法是使用 JS,所以这是我找到的代码:
$( document ).ready(function() {
var isMobile = window.matchMedia("only screen and (max-width: 760px)");
if (isMobile.matches) {
//Add your script that should run on mobile here
}
});
现在如何将下面的代码放入该代码中?
wp_enqueue_style( 'custom-css', get_template_directory_uri() . '/responsive.css' );
还有如何将它包含在 Functions.php 文件中。
我尝试了以下方法,但没有成功
?>
<script>
$( document ).ready(function() {
var isMobile = window.matchMedia("only screen and (max-width: 760px)");
if (isMobile.matches) {
wp_enqueue_style( 'custom-css', get_template_directory_uri() . '/responsive.css' );
}
});
</script>
<?php
【问题讨论】:
-
wp_enqueue_style 是在服务器上运行的 php 函数。
-
我认为你应该重新考虑你的方法。您在 JS 中使用 CSS 媒体查询来使用 PHP 有条件地加载文件,为什么要跳过这么多圈?只需将该媒体查询添加到您的 CSS 文件即可。
-
@prieber 确实,这是我在问题帖子中尝试的一种愚蠢方法。只是一个试图学习东西的新手 :) 我希望有一个单独的 CSS 文件只能在移动设备上加载,我正在尝试优化我的网站速度,这就是我尝试这种方法的原因。但不用担心,下面的最佳答案就是我想要的。
-
@user3152370 如果您正在尝试优化,那么我建议您先使用移动设备,当屏幕变大时加载任何后续 CSS 文件。移动数据对某些人来说仍然是一种商品,因此节省的每一字节数据都可以获利。
标签: javascript wordpress php-enqueue wp-enqueue-scripts