Почему мой JQuery не загружается в IE? - PullRequest
5 голосов
/ 10 января 2011

Я сделал этот тест javascript: http://utbm.trunat.fr/CIP/quiz/

Он работает в обычном браузере, но даже не загружается с Internet Explorer.

Похоже, он не распознает initQuiz() function.

У вас есть идеи, как я могу это исправить?

1 Ответ

10 голосов
/ 10 января 2011
  • Internet Explorer не принимает запятую:

    question = {'texte': $(this).attr("texte"),
        'sound': $(this).attr("sound"),}
    
  • Видимо, из этой строки появляется другая ошибка:

    $('title').html(QUIZ_TITLE[lang]);
    

    Оказывается, , вы не можете установить такой заголовок в IE . Вместо этого используйте document.title = QUIZ_TITLE[lang].

  • Третья ошибка заключается в том, что вы вводите новую переменную question без ключевого слова var, что является ошибкой в ​​IE. Вы делаете это снова, позже, в response. Обновите ваш loadXML как таковой:

    function loadXML(xml) {
       $(xml).find("question").each(function() {
        var question = {'texte': $(this).attr("texte"), 'sound': $(this).attr("sound")};
    
          reponses = [];
          $(this).find('carre').find('reponse').each(function() {
            var reponse = {'texte': $(this).text(), 'sound': $(this).attr("sound"), 'bonne': false};
            if($(this).attr('bonne') == "vrai") reponse['bonne'] = true;            
            reponses.push(reponse);
         });
    
         question['reponses'] = reponses;
         questions.push(question);
       });
       startGame(questions);
    }
    
  • Четвертая ошибка в том, как вы проверяете, что ответ правильный.

    if($(this).attr('data-type') == 'true')
    

    Вы сравниваете значение атрибута data-type со строковым значением "true", но когда вы присваиваете значение, вы устанавливаете его в логическое значение true:

    $('#r'+(i+1)+'input').attr('data-type', r.bonne);
    

    Чтобы убедиться, что вы всегда сравниваете строковые значения, например, вы можете установить значение следующим образом:

    $('#r'+(i+1)+'input').attr('data-type', r.bonne.toString());
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...