JQuery скрипт не работает при просмотре страницы на локальном хосте - PullRequest
3 голосов
/ 30 января 2010

Я только начинаю играть на Mac в первый раз, и я создал очень простую HTML-страницу, которая использует jQuery для простой замены текста при нажатии на тег h1.

Когда я не просматриваю страницу через веб-сервер и просто открываю ее прямо в 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

1 Ответ

3 голосов
/ 30 января 2010

Используйте Firebug и получите доступ к странице. Виновным может быть то, что веб-сервер не может открыть файл jquery.js из-за разрешения файла. Firebug покажет, загружен ли jquery на страницу, даже вы можете добавить код jQuery на лету во вкладке Console.

Если вы обращаетесь к нему с помощью 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>, чтобы он не блокировал одновременную загрузку элемента страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...