2010-01-30 91 views
3

我剛開始在Mac上玩耍時第一次創建了一個非常簡單的HTML頁面,它使用jQuery在h1標記爲點擊。在本地主機上查看頁面時,jQuery腳本無法正常工作

當我沒有通過網絡服務器查看網頁並直接在Safari中打開它(文件:///Applications/xampp/xamppfiles/htdocs/test/mypage.html)時,它可以正常工作。但是,當我試圖通過Apache(http://localhost/test/mypage.html)查看它不起作用。

下面的代碼

<html> 
    <head> 
     <title>My Awesome Page</title> 
     <script type="text/javascript" src="jquery.js"></script> 
     <script type="text/javascript" charset="utf-8"> 
      function sayHello() 
      { $('#foo').text('Hi there!'); 
      } 
     </script> 
    </head> 
    <body> 
     <h1 id="foo" onclick="sayHello()">Click me!</h1> 
    </body> 
</html> 

我錯過了在Mac上的東西嗎?因爲它的客戶端代碼不會是Apache設置..對吧?

我也許應該提到我加載XAMPP來運行Apache和MySQL。我測試過Apache,以確保它使用簡單的PHP文件工作。

Steve

回答

3

使用Firebug並訪問該頁面。有一件可能是罪魁禍首的事情是,由於文件許可,Web服務器無法打開jquery.js文件。 Firebug會顯示jquery是否加載到頁面中,即使您可以在控制檯選項卡中即時添加jQuery代碼。

如果您使用Safari訪問它,請使用Web Inspector並查看「控制檯」選項卡中是否顯示任何錯誤。

最後一兩件事,讓一個習慣,避免onclick,而是執行此操作:

<script type="text/javascript" charset="utf-8"> 
    function sayHello() 
    { 
    $('#foo').text('Hi there!'); 
    } 
    //wait DOM loaded 
    jQuery(function($){ 
    $('#foo').click(function(){ 
     sayHello(); 
    }); 
    }); 
</script> 

此外,最好把js代碼靠近頁面末尾,</body>之前,所以它不會阻止併發頁面元素的加載。

+0

Safari的Web Inspector幫了大忙。它具有jquery.js文件的文件權限。該文件夾中的其他文件有一個644模式和一組管理員,所以我運行以下命令在終端中,它的工作就像一個冠軍。 「chmod 644 jquery.js」和「chgrp admin jquery.js」 – 2010-01-30 05:19:53

相關問題