2012-05-18 3 views
0

Я просмотрел похожие темы, но еще не нашел решение этой проблемы.Загрузка Javascript локально, но не на сервер

Сайт работает отлично на моей локальной машине (Mac), но я загрузил веб-сайт по FTP (размещен 1 & 1), и когда я просматриваю сайт в браузере (последний Chrome/Firefox/Safari), сценарии не загружаются для слайдера изображения (AnythingSlider).

View the website

Извинения, если это отвечает в другом месте.

+0

У вас есть 3 ошибки JS на вашем сайте. Проверьте консоль. – antyrat

+0

Почему вы используете это? Johntor

+1

вы еще не создали событие готовности дома ... используйте опцию defer в блоке скрипта .. ваш код будет запущен после того, как все файлы js, загруженные с сервера – Dasarp

ответ

3

линию 155:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.2.min.js"><\/script>')</script> 

линия 20:

<script src="js/libs/jquery-1.7.2.min.js"></script> 
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.2.min.js"><\/script>')</script> 

Не включайте JQuery дважды. Jquery в строке 155 включается после anythingslider. Таким образом, он перезагружает объект jquery (у него больше нет anythinslider). удалить эту линию 155 JQuery и изменить линию 34 как этот

<script>  
    $(document).ready(function(){ 
     $('#slider').anythingSlider(); 
    }); 
</script> 
+0

Я не думаю OP должен изменить '$ (function() {..' .Это кажется мне совершенно верным. – Curt

+0

yup '$ (function() {}' является ярлыком для '$ (document) .ready (function() {} 'но это иногда вызывает проблемы ... лучше быть в безопасности, а потом извиняться .. –

+0

@ Курт вы могли бы объяснить более конкретные? – Dasarp

0

Попробуйте этот код

<script defer type="text/javascript"> 
    // DOM Ready 
    $(document).ready(function() { 
     $('#slider').anythingSlider(); 
    }); 
</script> 
+0

Я собирался дать этот ответ. – Ramesh

+0

Thats просто длинная версия того, что OP уже имеет – Curt

+0

Что это должно делать?Я не видел ** defer ** до – Johntor

4

Проверка сценария у вас есть следующее сообщение об ошибке:

Uncaught TypeError: Object [object Object] has no method 'anythingSlider'

Вы должны удалить второй JQuery вызов:

<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.2.min.js"><\/script>')</script> 

Это предотвратит «перезагрузку» jQuery, что помешает вам потерять функцию anythingSlider.

+0

сосредоточиться на 'window.jQuery ||' part -> это включение не наносит никакого урона, потому что оно сначала заклинило, если есть существующий jQuery и в том числе новый jQuery, только если нет jQuery -> главная проблема заключается в том, чтобы включить в line 155. –

+0

Иными словами, следует удалить строки на строках 153 и 155, а проверка 'window.jQuery' должна быть безопасной: http://stackoverflow.com/questions/1014203/best-way-to-use- googles-hosting-jquery-but-fall-back-to-my-hosting-library-on-go – jfrej

+0

Привет, ребята, спасибо за вашу помощь. Может быть, вы могли бы рассказать мне, почему, если вы посмотрите, http://www.spiritdigital.co.uk/CV/index.html снова, две средние кнопки навигации AnythingSlider заняли второе место, чтобы вернуться в правильное положение? Спасибо, я пропустил через поля и т. Д., Но никаких подсказок. – Audity

1

* DUDE! что вы делаете с ур скриптами и css *
1.i согласен с точной.
Есть 4 места, где вы включили jquery, а не даже где есть проверка наличия существующей jquery.
2.i проверили, что все ваши файлы сценариев загружаются правильно. поэтому проблема не в загрузке файлов. с ней вы используете неправильные URL-адреса для загрузки сценария. 3. Наконец, вы должны использовать событие $ (document) .ready() для чего-либо, что tht должно быть выполнено после того, как dom готов

+0

Спасибо, да, я полностью согласен, код немного беспорядок. Спасибо, что подняли голову над домом. – Audity