为什么我的javascript不起作用

时间:2010-09-19 13:39:55

标签: javascript html xhtml

我有下面的HTML。它通过w3验证器,但我的javascript警报不起作用。任何人都可以看到任何问题或有任何关于如何让它工作的建议吗?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Company Name™</title>
        <link rel="stylesheet" type="text/css" href="css/style.css" />
        <style type="text/css">
            BODY {
                background-image: url(images/bg4.jpg); 
                background-repeat:no-repeat; 
                background-position:center top;
                background-attachment: fixed; 
            }
        </style>
        <script type="text/javascript">
            alert("HELLO");
        </script>
    </head>
    <body>
        <div id="wrapper">
            <div id="header">
                <div class="logo">
                    <img src="images/fcflogo.png" width="295" height="100" align="left" alt="logo"/>
                </div>
                <div class="header1">
                    <a href="financialprotection.html">100% Financial Protection</a>
                    <hr/>
                </div>
                <div class="nav">Home| Flights| Hotels| Villas | CarHire| Attractions| Contact</div>
            </div>
            <div class="ver1">
                <h2>Can't find what your looking for?</h2>
            </div>
            <div class="enq1">
                <h2>Enquiry Form</h2>
            </div>
            <div class="hor1">
                <h2>Our Service</h2>
                <a>Company Name are one of the leading independent travel companies specialising in Florida Holidays. We have a wide range of major Charter and Scheduled airlines to choose from as well as over 10,000 Hotel and Villa deals. Our aim is to provide you the customer with a truly fantastic vacation in Florida from start to finish at affordable prices. We are not committed to any airline or Tour operator so are totally committed to finding you the best deal.</a>
            </div>
            <div class="hor1"><a>FLIGHTS</a></div>
            <div class="ver2"><a>HOTELS</a></div>
            <div class="ver2"><a>VILLAS</a></div>
            <div class="hor1"><a>CAR HIRE</a></div>
            <div class="hor1"><a>ATTRACTIONS</a></div>
        </div>
        <hr/>
        <div id="footer"><a>FOOTER</a></div>
    </body>
</html>

编辑 - 对于以下所有内容,我确实打开了javascript,我正在使用debian和firefox,noScript被禁用,但警报不会出现,即使我将其移动到正文中。

5 个答案:

答案 0 :(得分:4)

首先,取出商标。扩展字符可能会导致关闭</title>标记。我很确定这是你的问题。

如果失败,请删除<script>标记上方的每个元素,看看它是否已执行。如果是,请逐个恢复每个元素。脚本标记之上的某些内容阻止对其进行解析。

答案 1 :(得分:1)

对我而言,您的代码有效,警报就会出现。 你在浏览器中启用了javascript吗?

答案 2 :(得分:0)

对我来说,在FF 3和IE 8上正常工作。

您是否有机会在浏览器上禁用JavaScript?

答案 3 :(得分:0)

永远不会调用该脚本,这就是为什么它不会发出任何警报。将脚本标记从头部内部移动到文档的body标记内。或者将它包含在一个函数中,并从body标签的onload属性中调用它。

答案 4 :(得分:0)

您可能希望尝试清除缓存,以确保浏览器正在加载包含alert的文件,而不是旧的缓存副本。如果这不起作用,我建议尝试使用Firefox / Firebug并在javascript控制台中检查错误。如果您使用AJAX加载文件,则需要将脚本标记移动到文档正文。大多数情况下,AJAX库将忽略HEAD元素,并且只包含BODY标记中的元素。