IE8 ошибка с файлом javascript, который имеет функции jQuery? - PullRequest
0 голосов
/ 01 сентября 2010

Я получаю эту ошибку в IE8:

Page Error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5;. NET CLR 1.1.4322;. NET CLR 2.0.50727;. NET CLR 3.0.04506.30;. NET CLR 3.0.4506.2152;. NET CLR 3.5.30729;. NET4.0C)
Timestamp: Wed, 1 Sep 2010 11:15:04 UTC


Message: Object does not support this property or method
Row: 10
Character: 2
Code: 0
URI: http://widerdesign.com.tw/wp-content/themes/starkers/js/custom.js

custom.js:

$(document).ready(function () {
    //easy slider
    $('ul.sf-menu').superfish();
    //easy slider
    $("#slider").easySlider({
        auto: true,
        continuous: true
    });
    //fancybox
    $("a#showcase1").attr('rel', 'gallery').fancybox({
        'scrolling' : 'no',
        'titleShow' : false
    });

    $("a#showcase2").attr('rel', 'gallery').fancybox({
        'scrolling' : 'no',
        'titleShow' : false
    });

    $("a#showcase3").attr('rel', 'gallery').fancybox({
        'scrolling' : 'no',
        'titleShow' : false
    });

    $("a#showcase4").attr('rel', 'gallery').fancybox({
        'scrolling' : 'no',
        'titleShow' : false
    });

    $("a#showcase5").attr('rel', 'gallery').fancybox({
        'scrolling' : 'no',
        'titleShow' : false
    });

    $("a#showcase6").attr('rel', 'gallery').fancybox({
        'scrolling' : 'no',
        'titleShow' : false
    });

    $("a#showcase7").attr('rel', 'gallery').fancybox({
        'scrolling' : 'no',
        'titleShow' : false
    });

    $("a#showcase8").attr('rel', 'gallery').fancybox({
        'scrolling' : 'no',
        'titleShow' : false
    });

    $("a#showcase9").attr('rel', 'gallery').fancybox({
        'scrolling' : 'no',
        'titleShow' : false
    });
});

теги заголовка в header.php

<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<title><?php
    /*
     * Print the <title> tag based on what is being viewed.
     * We filter the output of wp_title() a bit -- see
     * twentyten_filter_wp_title() in functions.php.
     */
    wp_title( '|', true, 'right' );

    ?></title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/slider.css" />
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/css/superfish.css" />
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />

<?php
    /* We add some JavaScript to pages with the comment form
     * to support sites with threaded comments (when in use).
     */
    if ( is_singular() && get_option( 'thread_comments' ) )
        wp_enqueue_script( 'comment-reply' );

    /* Always have wp_head() just before the closing </head>
     * tag of your theme, or you will break many plugins, which
     * generally use this hook to add elements to <head> such
     * as styles, scripts, and meta tags.
     */
    wp_head();
?>
</head>

включены js-файлы в нижний колонтитул:

</div><!-- #footer -->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/custom.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/easySlider1.5.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/superfish.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/hoverIntent.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/superfish.js"></script>
</body>
</html>

есть предложения?

Код правильно работает в Chrome и Firefox(как и ожидалось)

Ответы [ 3 ]

1 голос
/ 01 сентября 2010

Вы включаете jQuery дважды , который уничтожит все плагины, определенные на нем, так как он определяет $ и $.fn (до срабатывания document.ready).Чтобы исправить это, используйте только одну версию jQuery (несколько версий на странице не играют хорошо, они не предназначены для этого).

Я думаю, что ваш нижний колонтитул должен выглядеть примерно так:

</div><!-- #footer -->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/easySlider1.5.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/superfish.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/hoverIntent.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/custom.js"></script>
</body>
</html>
1 голос
/ 01 сентября 2010

Я бы начал с удаления лишних ссылок на суперфиш и jquery. IE может обрабатывать их не так, как другие браузеры.

Вот как я должен выглядеть:

<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/easySlider1.5.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/superfish.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/hoverIntent.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/custom.js"></script>
0 голосов
/ 01 сентября 2010

Похоже, вы также не включили файл jQuery? Он должен отображаться на вашей странице в виде включения над строкой, содержащей ваш собственный файл.

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