Встроенный скрипт jQuery не работает в Firefox 4 - PullRequest
1 голос
/ 09 июня 2011

Я скачал Firefox 4 сегодня и понял, что мой сайт работает не так, как ожидалось. Когда я искал ответы в Интернете, я нашел решения, которые требовали добавления встроенного скрипта с помощью

document.write('<script src="path/js/inlineScript.js" type="text/javascript"><\/script>').

Я скопировал и вставил весь свой встроенный код во внешний файл, и вот как я сейчас добавляю встроенный скрипт (работает во всех браузерах и частично в Firefox 4): из запроса комментариев относительно разметки, я здесь есть ссылка: http://filetaxes4free.com/temporary/index.php

<script language="JavaScript">

    document.write('
        <script src="path/js/inlineScript.js" 
                type="text/javascript">
        <\/script>'
    );

</script>

Я использую jQuery 1.6.1, вкладки jQuery (в коде вы можете видеть, что они установлены для поворота и плавного перехода / затухания с помощью переключателя непрозрачности). Некоторые из jQuery работают, а некоторые нет; изменение имени файла, когда событие mouseover и mouseout не работает, а также анимация, когда событие mouseover и mouseout не работает (это содержимое файла inlineScript.js)

jQuery(document).ready( function() {
    jQuery( "#tabs" ).tabs().tabs({  
        fx: { opacity: 'toggle', duration: 1000 }}
    ).tabs('rotate', 3500, false);

    jQuery("ul#frontModule li a img").live('mouseover mouseout', function() {

        var fileName = jQuery(this).attr('src').search("-active");

        if (event.type == 'mouseover' && fileName == -1 ) {
            jQuery(this).attr("src", jQuery(this).attr("src")
                .replace(".png","-active.png"));
        }
        else {
            jQuery(this).attr("src", jQuery(this).attr("src")
                .replace("-active.png",".png"));
        }
    });

    /* LOGO anitmated text*/

    jQuery( "#logo" ).airport(
        [ 'small business web design', 
            'online marketing', 
            'search engine optimization', 
            'websonalized-com']
    );

    //menu animation

    jQuery('#rightBody .menu li a').live('mouseover mouseout', function(){

        if ( event.type == 'mouseover' ) 
            jQuery(this).animate({ marginLeft: "15px" }, 500 );
        else 
            jQuery(this).animate({marginLeft: "0" }, 500 );
    });

    //css for IE css3pie.com
    if (window.PIE) {

        //jQuery('.rounded').each(function() {
            //PIE.attach(this);
        //});

        jQuery('.roundRightEI').each(function() {
            PIE.attach(this);
        });

    }//end IE scripts
});

Какие изменения мне нужно сделать, чтобы этот скрипт работал в Firefox 4

Ответы [ 2 ]

0 голосов
/ 14 июня 2011

На самом деле все, что мне нужно было сделать, это добавить слово «событие» при вызове обратного вызова из события.

Старый код:

 jQuery('#rightBody .menu li a').live('mouseover mouseout', function(){

        if ( event.type == 'mouseover' ) 
            jQuery(this).animate({ marginLeft: "15px" }, 500 );
        else 
            jQuery(this).animate({marginLeft: "0" }, 500 );
    });

Новый код:

 jQuery('#rightBody .menu li a').live('mouseover mouseout', function(event){

        if ( event.type == 'mouseover' ) 
            jQuery(this).animate({ marginLeft: "15px" }, 500 );
        else 
            jQuery(this).animate({marginLeft: "0" }, 500 );
    });

Что-то связанное с HTML5 и строгими стандартами

0 голосов
/ 09 июня 2011

Попробуйте включить ваш скрипт следующим образом и посмотрите, имеет ли это какое-то значение.

document.write(unescape("%3Cscript src='path/js/inlineScript.js' type='text/javascript'%3E%3C/script%3E"));

Иногда кавычки в ваших скриптах могут мешать кавычкам, включенным в объявление, ответственное за загрузку.

...