Javascript/Jquery не работает локально

У меня по-прежнему возникает эта проблема со многими различными фрагментами кода в JQuery, где код, который я пробую, работает на таких сайтах, как JSFiddle и w3schools, но не работает на моем компьютере, когда я просто пытаюсь загрузить html-файл через Chrome.

Мой вопрос: для локального запуска JQuery вам нужно компилировать программное обеспечение, как вам нужно с C, или оно должно работать, как HTML/CSS, только с браузером?

Вот пример простого кода, который работает в JSFiddle и w3schools, но не работает у меня...

<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("p").hide();
  });
});
</script>
</head>

<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>Click me</button>
</body>
</html>

Кроме того, если требуется компилятор. Можете ли вы порекомендовать один мне? Спасибо за вашу помощь!


person Seslyn    schedule 16.05.2013    source источник
comment
Компилятор не нужен, но я предполагаю, что вы открываете файл напрямую, а не используете веб-сервер на своем локальном компьютере. Это сбивает с толку Chrome, который использует протокол file: для загрузки jQuery, что неверно, поскольку это должен быть HTTP. Вы можете исправить это, указав http:// в вашем скрипте src или используя веб-сервер.   -  person Matt    schedule 16.05.2013
comment
Какие проблемы вы видите? Какие-то ошибки в консоли или неудачные запросы на вкладке сети? Если вы пытаетесь делать что-то, связанное с холстом, FileReader или другими более сложными вещами, похожими на HTML5, они обычно не работают с протоколом file:///. Чтобы обойти это, я обычно просто делаю python -m SimpleHTTPServer в своем корневом каталоге, а затем перехожу к http://localhost:8000   -  person Matt Greer    schedule 16.05.2013


Ответы (2)


Хорошо, использование синтаксиса // не работает, когда вы работаете через локальную файловую систему — он ищет file://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js

Очевидно, что этот файл не существует, и jQuery не загружен на страницу. Вам нужно указать его как ресурс HTTP (s), если вы собираетесь открывать его локально:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
person Adam    schedule 16.05.2013

Вам нужно использовать http: вот так -

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
person Mohammad Adil    schedule 16.05.2013