2010-09-19 156 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標籤中的元素。