外部JavaScript在localhost上工作但不在远程主机上工作?

时间:2013-02-13 10:56:32

标签: php javascript webserver

这是网站:http://www.hfwebdesign.com/

我收到此错误:Uncaught TypeError: Object [object Object] has no method 'flexslider'

但是在我的localhost中,它运行得很好。

这是<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>

可能是代码在远程主机中的Web服务器中出现而不是在我的localhost中(例如,它们是LAMP / APACHE的不同版本?)

2 个答案:

答案 0 :(得分: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>

要:

<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>

不确定,但尝试也不错。

答案 1 :(得分:0)

检查脚本路径中的大小写。如果脚本文件夹名称是例如&#39; flexSlider&#39;并且在脚本中src路径是&#39; flexslider&#39;,它将在Windows(大多数本地主机)上工作,但不在Linux(大多数服务器)上工作。它取决于操作系统,而不是服务器SW,因此运行,例如Windows上的XAMPP将起作用,因为Windows以不区分大小写的方式使用路径。