0

我正在尝试让我的网站检查屏幕分辨率并用纯文本链接替换已安装的字体图标(使用@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">&#xf015</a></li>
        <li><a id="drinklink" href="drinks.html" title="drink menu">&#xf0fc</a></li>
        <li><a id="piclink" href="images.html" title="picture gallery">&#xf030</a></li>
        <li><a id="directionslink" href="directions.html" title="directions">&#xf0d1</a></li>
        <li><a id="contactlink" href="contact.html" title="contact us">&#xf075</a></li>
        </ul>
    </div>
</div>
4

2 回答 2

0
  1. 不需要 document.write()。如果你想诊断你可以使用 document.title 或创建一个 div 和 divid.innerHTML

  2. 确保您在 <700 的区域进行测试

  3. 添加一个 DOM 就绪的火。

  4. 把它放在最后

那么事情应该会起作用:)

于 2013-11-02T21:21:38.323 回答
0

该 javascript 在加载 HTML 之前执行。因此,当 javascript 触发时,没有 ID 为“homelink”的元素。

此外,通过使用 document.write,您可以有效地覆盖原始 HTML,因此标签将永远不会加载。

摆脱 document.write 调用并将脚本放在结束正文标记之前,它应该可以按预期工作。

于 2013-11-02T21:05:16.590 回答