[英]Why won't javascript replace innerHTML on screen resolution check?
我试图让我的网站检查屏幕分辨率,并用纯文本链接替换已安装的字体图标(使用@webfont),以使该网站对移动设备更加友好。 我正在使用Opera Mobile Emulator来检查它是否有效。 我正在使用的用户界面显然返回了480x320的分辨率(在页面的左上角),但是.innerHTML javascript并未启动。 有什么帮助吗?
<!DOCTYPE html>
<html>
<head>
<title>Harry's Bar</title>
<meta name="keywords" content="Harry's, bar, st. petersburg, florida, kenneth city, drink specials" />
<meta name="description" content="Harry's Bar in St. Petersburg, Florida. Drink specials every night!" />
<meta name="author" content="Internet Solutions of Florida" />
<link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<script type="text/javascript">
var width=screen.width;
var height=screen.height;
document.write(width+'x'+height);
if (width<700)
{document.getElementById("homelink").innerHTML="Home";}
</script>
<div class="frame">
<div class="header">
<img class="logo" src="img/logo.png" alt="Harry's Bar" />
<div class="menu">
<ul>
<li><a id="homelink" href="index.html" title="home"></a></li>
<li><a id="drinklink" href="drinks.html" title="drink menu"></a></li>
<li><a id="piclink" href="images.html" title="picture gallery"></a></li>
<li><a id="directionslink" href="directions.html" title="directions"></a></li>
<li><a id="contactlink" href="contact.html" title="contact us"></a></li>
</ul>
</div>
</div>
该javascript在HTML加载之前正在执行。 因此,当javascript触发时,没有ID为“ homelink”的元素。
此外,通过使用document.write,您可以有效地覆盖原始HTML,因此该标记将永远不会加载。
摆脱document.write调用,然后将脚本放置在结束body标记之前,即可正常工作。
不需要document.write()。 如果要诊断,可以使用document.title或创建一个div和divid.innerHTML。
确保在<700范围内进行测试
添加一个DOM ready火。
将此放置在
事情就可以了:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.