2013-02-13 3 views
0

Это сайт: http://www.hfwebdesign.com/Внешний JavaScript работает на локальном хосте, но не на удаленном хосте?

Я получаю эту ошибку: Uncaught TypeError: Object [object Object] has no method 'flexslider'

Но в моем локальном хосте он прекрасно работает.

Это <head> (где скрипт вызывается):

<head> 
<meta charset="<?php bloginfo('charset'); ?>" /> 
<meta name="viewport" content="width=device-width" /> 
<title><?php wp_title('|', true, 'right'); ?></title> 
<link rel="profile" href="http://gmpg.org/xfn/11" /> 
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> 
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo('template_url'); ?>/js/flexslider/flexslider.css" /> 
<link rel="icon" type="image/png" href="<?php bloginfo('template_url'); ?>/favicon.ico" /> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
<script src="<?php bloginfo('template_url'); ?>/js/flexslider/jquery.flexslider-min.js"></script> 
<?php // Loads HTML5 JavaScript file to add support for HTML5 elements in older IE versions. ?> 
<!--[if lt IE 9]> 
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script> 
<![endif]--> 
<?php wp_head(); ?> 
</head> 

сноска:

<script type="text/javascript"> 
    var $j = jQuery.noConflict(); 
    $j(document).ready(function() { 
    $j('.flexslider').flexslider({ 
     animation: "slide" 
    }); 
    }); 
</script> 

</body> 

Может быть, код взлома веб-сервера в удаленном хост, а не в моем локальном хосте (например, они представляют собой другую версию LAMP/APACHE?)

+0

Ваш тег скрипта для Flexslider выглядит так на странице: ' '. Это правильный путь? – Teemu

+0

@Teemu Я думаю, что WordPress добавляет часть '.pagespeed.jm.noGKd8vLzs.'. Некоторый кеш-ускоритель, который я не знаю, как деактивировать. – alexchenco

+0

проверьте файл 'jquery.flexslider-min.js' на сервере. Я думаю, что он вызван, и ваша функция не звонит. Я столкнулся с такой же проблемой при загрузке файлов с локального сервера. –

ответ

1

Попробуйте перебрать место вызова из:

<script src="http://www.hfwebdesign.com/wp-content/themes/twentytwelve/js/flexslider/jquery.flexslider-min.js.pagespeed.jm.noGKd8vLzs.js"></script> 
<script type='text/javascript' src='http://www.hfwebdesign.com/wp-includes/js/jquery/jquery.js,qver=1.8.3.pagespeed.jm.1SksPi3j41.js'></script> 

To:

<script type='text/javascript' src='http://www.hfwebdesign.com/wp-includes/js/jquery/jquery.js,qver=1.8.3.pagespeed.jm.1SksPi3j41.js'></script> 
<script src="http://www.hfwebdesign.com/wp-content/themes/twentytwelve/js/flexslider/jquery.flexslider-min.js.pagespeed.jm.noGKd8vLzs.js"></script> 

Не уверен в этом, но стараюсь не плохо.

+0

Это уже как второй пример? – alexchenco

+0

Нет, это похоже на первое. Попробуйте изменить места вызова и дать flexslider последнему js-вызову ... – Guerra

+0

Проверьте, не вызывается ли сценарий jquery по 2 раза. – Guerra

0

Проверьте фразу в вашем пути к сценарию. Если имя папки сценария есть, например, «flexSlider», а в скрипте src path - «flexslider», он будет работать на Windows (большинство локальных хостов), но не на linux (большинство серверов). Это зависит от ОС, а не от сервера SW, поэтому работает, например. XAMPP на окнах будет работать, потому что окна работают без учета регистра с помощью путей.

Смежные вопросы