Опубликован: 06.10.2006 | Уровень: для всех | Доступ: платный
Лекция 14:

Сценарии

  1. Ошибки могут случаться по ряду причин. Проверьте, нет ли их среди приведенных ниже общих проблем, возникающих при создании сценариев:

    • Основной тип ошибки – это ошибка в синтаксисе (syntax error), когда программный код неверно написан. Поищите ошибки в пунктуации, типа пропущенной скобки или кавычки. Если в сообщении об ошибке говорится "Expec-ted')' " или "Missing ) after…", у вас открытых скобок больше, чем закрытых. Если вы написали в одной строке больше одной команды, убедитесь, что они отделены точкой с запятой.
      Чтобы помочь вам писать сценарий, HomeSite показывает номера строк и позицию в строке. Он также выделяет код цветом, для облегчения чтения

      Чтобы помочь вам писать сценарий, HomeSite показывает номера строк и позицию в строке. Он также выделяет код цветом, для облегчения чтения
    • Убедитесь, что вы используете верные операторы. Обратите вниммание на разницу между = (которое присваивает значение) и == (которое сравнивает значения и возвращает "истина" или "ложь").

      if (oneThing == another) // сравнение
        another = somethingElse; // присвоение
    • JavaScript чувствителен к регистру. Функция с названием checkEmail() – это совсем не то же самое, что CheckEmail(). И встроенные объекты, свойства и методы, типа Window и toLowerCase(), должны быть напечатаны прописными буквами, иначе они не будут работать.
    • Если в сообщении об ошибке говорится "Object expected" или "Object doesn’t support this property or method" (или в Netscape, "[name] is not defined" или "[name] has no properties"), возможно, дело в орфографической ошибке в свойстве или методе, или в том что вы попытались использовать метод, но не включили его в свою страницу.
    • Если вы использовали document.writeln() чтобы вставить HTML в свой файл, проверьте кавычки, которые вы использовали. Вероятно, вам придется использовать кавычки внутри кавычек, чтобы написать нужный вам HTML – но убедитесь, что вы используете одинарные кавычки для кода JavaScript и двойные для HTML. (Вы, конечно, можете как-нибудь это обойти, однако приведенный ниже способ более простой.) Например, в приведенной ниже команде для создания HTML используется метод writeln, который содержит строку, заключенную в кавычки:

      document.writeln('<p><a href="' + theLink + '">' + theText + '</a></p>');

      Таким образом получится HTML вроде:

      <p><a href="somepage.htm">Some link text</a></p>
    • Убедитесь, что ваш код не был случайно проигнорирован из-за указателей комментариев. Комментарии в JavaScript начинаются с /* и заканчиваются */, или // комментируют остаток строки. Также убедитесь, что в конце кода есть закрывающий тэг </SCRIPT>.

      /* Эта функция открывает окно */
      function aWindow() {
        it = window.open(url, 'Hello',
      'width=300,height=200');
        return it; // возвращает объект окно
      }
      При создании программного кода или отслеживании ошибок справка о языке с примерами программ может очень помочь. Если у вас нет книги, обратитесь к Microsoft Developer Network на msdn.microsoft.com/scripting и msdn.microsoft.com/ workshop или к документации по JavaScript на developer.netscape.com/docs.
      Добавление комментариев в сценарий помогает избежать ошибок в будущем. Делайте заметки о том, что делает каждая функция или блок сценария.
    • Убедитесь, что имена функций сопровождаются открывающимися и закрывающимися круглыми скобками (если у функции есть аргументы, они должны быть помещены внутри этих скобок) и когда вы ее объявляете, и когда вы ее используете.
  2. Чтобы облегчить поиск ошибки, вы, возможно захотите проверить, выполняются или нет ваши функции и какие значения они выдают. Единственный способ это сделать – включить команду alert():

    alert('The checkIt() function is about to return: ' + returnValue);

    Это заставит броузер выдать сообщение. (Возможно, лучше было бы отправлять сообщения в специальное окно отладки на странице.) Приведенные ниже HTML и JavaScript создают небольшую форму в верхнем правом углу экрана и посылает сообщения в нее:

    <table align=right><tr><td>
      <form name=dform>
        <b>DEBUG:</b><br><textarea name=dtext rows=10 cols=20></textarea>
      </form>
    </td></tr></table>
    <script language="JavaScript">
    <! -- 
      // Отправка сообщений в окно отладки.
      function debug(msg) {
        document.dform.dtext.value += (msg + "\n");
      }
    //-->
    </script>

    Написав это один раз вверху страницы, вы можете использовать функцию debug во всем коде:

    debug( 'Here is the word: ' +word );
  3. Если вы не можете заставить сценарий работать, удалите его до того, как разместить вашу страницу, чтобы посетители не видели ошибок. Чтобы создать сценарий, попробуйте использовать программу типа Dreamweaver, которая напишет JavaScript за вас. Или, если вы просто хотите скопировать код, выполняющий определенную задачу, поищите что-нибудь подходящее в сети.

Использование отладчика

Если ваши сценарии слишком длинные, вы можете использовать отладчик (debugger) – программу, которая позволит пошагово отладить сценарий, проверяя значения переменных и выражений на каждом шаге – и таким образом удостовериться, что программа работает верно. Загрузите Microsoft Script Debugger с msdn.microsoft.com/scripting или Netscape Script Debugger с developer.netscape.com/software. Для получения всего спектра средств разработки, совместимых с Internet Explorer – включая отладчик, редактор HTML, и множество других инструментов – обратитесь к Microsoft Visual InterDev.

Татьяна Кондрашова
Татьяна Кондрашова
Россия
Игорь Воробьев
Игорь Воробьев
Россия, Михнево Ступинского МО