共2个答案

匿名用户

那是不可能的。您不能使用媒体查询(或者一般的任何CSS)来完成此操作。

display:none;只是表示内容不在浏览器中呈现。

display:none;允许您关闭元素和所有后代元素的显示。但是,如果您使用开发工具查看页面的DOM,则DOM树中有display none的元素及其子元素。

因此我们可以得出结论,它不会阻止浏览器解析并加载标记和相关资源;您的脚本将始终被加载,而您的媒体查询和显示样式将不起任何作用。

如果设备是台式机,您应该在自己的脚本中检查它。如果该脚本来自第三方,则应创建自己的脚本,检查设备是否为桌面,然后如果设备实际上是桌面,则加载第三方脚本。

关于如何检测设备是否是台式机,我将在这里留下几个答案,这些答案有大量的资源可供选择(设备可能是移动设备,也可能是台式机):

检测移动浏览器

检测移动设备的最佳方法是什么?

匿名用户

您可以使用javascript的matchMedia()方法来检测一个移动设备。如果媒体查询匹配,则创建另一个脚本html元素。

null

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    let matchMedia = window.matchMedia("(max-width:600px)");
    if(matchMedia.matches){
        alert("This is mobile device so script not supported");
    }
    else{
       let x = document.createElement("script");
       x.src="ex.js"//your script path will goes gere
       document.querySelector("html").append(x);

    }
</script>
</html>

相关问题



热门标签

Java JavaScript Python PHP C# Android Html jQuery C++ Css IOS MySQL NodeJS