<SCRIPT language="JavaScript">
height = screen.height;
width = screen.width;
aspect = width/height;
if (width==1920)(height==1200)
{
x="16:10";
}
else if (width==1680)(height==1200)
{
x="16:9";
}
else
{
x="unknown";
}
document.write( x );
</SCRIPT>
这是我的确切代码。我今天早上刚开始使用javascript。它目前没有显示任何内容。
答案 0 :(得分:1)
这不是正确的语法:
if (width==1920)(height==1200)
使用&&
(和)运算符来判断两个条件是否均为真:
if (width==1920 && height==1200)
P.S。对于生成x
字符串的更通用的解决方案,将宽度和高度视为分数的分子和分母,并通过除以公共素数来简化分数。
答案 1 :(得分:1)
首先你正在使用如果错误:
if (width==1920)(height==1200)
语法无效,如果您愿意和两个或多个条件一起使用&&
运算符:
if (width==1920 && height==1200)
其次,此示例仅对两个已知分辨率“有效”,建议您检查aspect
变量而不是height
和width
。这是一个可扩展的例子:
var ratios = [
{name: "16x10", a: 16/10},
{name: "16x9", a: 16/9},
{name: "4x3", a: 4/3}
// etc...
]
var aspect = screen.width/screen.height;
var aspectName = "Unknown";
for(var i = 0; i < ratios.length; i++)
{
var ratio = ratios[i];
if (aspect == ratio.a) {
aspectName = ratio.name;
break;
}
}
document.write(aspectName);
答案 2 :(得分:1)
function ar() {
// Greatest Common Divisor algorithm loop:
function gcd(x,y){return !y?x:gcd(y,x%y);}
var s=screen, w=s.width, h=s.height, r=gcd(w,h);
return w/r+':'+h/r; // Return the Aspect-Ratio String
}
document.body.innerHTML = ar();
答案 3 :(得分:0)
您的代码中有一些不正确的内容。
language="JavaScript"
而是type="text/javascript"
(如果您正在构建HTML5网站,则可以避免此声明)width == 1920 && height = 1200
var height = screen.height;
之前使用“var”在创建变量时只需要它,使用它只需调用height
。不使用“var”将创建一个全局变量,但这是另一课,只记得最好这样做。 如果您使用的是Chrome,请右键单击该文档然后“检查”。检查员会弹出。这个工具非常强大,可能看起来很复杂但只是阅读“控制台”选项卡中的内容。您最终会知道在x行等处的语法有错误。(几乎所有浏览器都可以使用该控制台,但我真的不知道它们在除Chrome之外的其他工作方式)。