2010-09-19 157 views
3

我有以下的html。它通过了W3验证器,但我的JavaScript警告不起作用。任何人都可以看到任何问题或有任何建议如何让它的工作?为什么我的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的是残疾人,但警报并未出现,即使我将它移动到身体。

+0

它适用于Windows 7和Google Chrome 7的操作系统。您使用的浏览器,浏览器版本和操作系统是什么?您是否在不同的浏览器上测试了这个版本? – 2010-09-19 13:46:23

+1

如果您正在讨论警报“HELLO”),这工作得很好,你期望它做什么,它不是在做什么? – Robusto 2010-09-19 13:48:23

+0

警报不会出现在我身上。我正在使用Linux(debian)和firefox。我也在chrome中测试过,它不工作。 – 2010-09-19 13:57:29

回答

4

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

如果不成功,删除<script>标签上方的所有元素,看看它是否执行,如果是这样,则逐个还原每个元素。

+0

删除商标做到了。不知道为什么这使得它突破... – 2010-09-19 14:21:18

+1

这是字符编码。基本上,扩展字符是一个双字符,应该是单个字符。当浏览器感到困惑时,它会经常显示第一个字符(给你一个随机的波形),并将第二个字符与它在页面上找到的下一个字符组合。在这种情况下,''在''中。所以,实际上,您的标题标签永远不会关闭。另一种解决方案是确保您将文件保存为UTF-8格式。如果说你在你的''中使用UTF-8但将它保存在另一个中,你会立即遇到麻烦。我猜测只有Debian + Firefox不能解决这个问题。 – Andrew 2010-09-19 14:33:43

1

对我而言,您的代码有效,出现警报。 您是否在浏览器中启用了JavaScript?

0

对FF 3和IE 8适合我。

你有没有在浏览器上禁用JavaScript?

0

该脚本从未被调用,这就是为什么它没有提醒任何事情。将该脚本标记从头部移动到文档的主体标记内。或者把它放在一个函数中,并从body标签的onload属性中调用它。

+0

@downvoter:感谢您的非常无益的行动 – 2010-09-19 14:14:04

+0

upvoted你取消它,因为我没有意识到必须完成它才能使其运行 – 2010-09-19 14:39:41

+0

即使在'head',脚本应该跑。这不是发生问题的脚本的位置。 – 2010-09-19 15:58:31

0

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