Javascript 方法来检查应用了什么样式表
问题是:我想看看哪个样式表在文档中具有优先权 建议:添加一个在所有样式表中具有相同名称且具有唯一值的类。将此类应用于文档末尾的一个DIV,然后查看应用了哪个值 守则: HTML: JS: 这里检查颜色值,结果确定哪个样式表优先。结果将添加到“document”对象中的自定义值,以便在执行函数后可以引用该值。这对我来说是一个新的想法,因此希望得到反馈,我的理由是文档对象不会被删除,因此可以始终被引用。这样,函数只需执行一次,就可以在不接触DOM的情况下连续查找其值。这提供了一个低于0毫秒的查找时间,onload的初步执行时间在0到1或2毫秒的范围内。我现在只使用了date功能来衡量这一点Javascript 方法来检查应用了什么样式表,javascript,html,css,Javascript,Html,Css,问题是:我想看看哪个样式表在文档中具有优先权 建议:添加一个在所有样式表中具有相同名称且具有唯一值的类。将此类应用于文档末尾的一个DIV,然后查看应用了哪个值 守则: HTML: JS: 这里检查颜色值,结果确定哪个样式表优先。结果将添加到“document”对象中的自定义值,以便在执行函数后可以引用该值。这对我来说是一个新的想法,因此希望得到反馈,我的理由是文档对象不会被删除,因此可以始终被引用。这样,函数只需执行一次,就可以在不接触DOM的情况下连续查找其值。这提供了一个低于0毫秒的查找时间
function checksheet(){
var ac1 = document.getElementById('sheetValue');
if (window.getComputedStyle(ac1,null).getPropertyValue("color") === "rgb(255, 255, 0)"){
document.sheetType = "Yellow";
}
else if (window.getComputedStyle(ac1,null).getPropertyValue("color") === "rgb(0, 255, 0)"){
document.sheetType = "Green";
}
else if (window.getComputedStyle(ac1,null).getPropertyValue("color") === "rgb(255, 0, 0)"){
document.sheetType = "Red";
}
else if (window.getComputedStyle(ac1,null).getPropertyValue("color") === "rgb(0, 0, 204)"){
document.sheetType = "Blue";
}
}
欢迎任何评论、反馈或直接解雇。让我困惑的部分是您这样做的用例。从您提供的代码示例中可以看出,您在查询媒体属性的基础上包含了一个特定的css文件 虽然我不会在这里详细介绍媒体查询,但通过使用javascript screen.width、document.documentElement.clientWidth测量屏幕尺寸,可以轻松计算出您要实现的目标,这将是一个比检查计算出的css值好得多的解决方案。例如:如果计算出的颜色以十六进制返回会怎么样 看 虽然它在较旧的浏览器中不起作用,但也有window.matchMedia可以这样使用:
window.matchMedia('only screen and (min-device-width: 768px) and (max-device-width: 1991px)')
很好,这个问题的所有标题。但我错过了一个:“问题”。你到底有什么问题?您当前的代码以什么方式不工作?问题是我需要根据应用的样式表使用自定义解决方案。补充:如果添加到文档对象不被认为是不好的做法,我会创建一个“自定义”值并在其中添加任何自定义值,这样在搜索对象时对文档对象的任何调用都不会减慢。如果这是错误的,请更正我,这样可以防止文档对象混乱。@GolezTrol哦,同时,也主要由舆论来判断是否有人认为这是一种错误的做法。建设性批评:
function checksheet(){
var ac1 = document.getElementById('sheetValue');
if (window.getComputedStyle(ac1,null).getPropertyValue("color") === "rgb(255, 255, 0)"){
document.sheetType = "Yellow";
}
else if (window.getComputedStyle(ac1,null).getPropertyValue("color") === "rgb(0, 255, 0)"){
document.sheetType = "Green";
}
else if (window.getComputedStyle(ac1,null).getPropertyValue("color") === "rgb(255, 0, 0)"){
document.sheetType = "Red";
}
else if (window.getComputedStyle(ac1,null).getPropertyValue("color") === "rgb(0, 0, 204)"){
document.sheetType = "Blue";
}
}
window.matchMedia('only screen and (min-device-width: 768px) and (max-device-width: 1991px)')