Script

Материал из VXML
Перейти к: навигация, поиск


<script> — аналог элемента <script> в html. Данный элемент предназначен для описания скриптов. Может содержать ссылку на программу или находится в основном документе. Скрипт должен быть написан на ECMAScript, поэтому, в отличие от html, не надо указывать атрибут type. Скрипт выполняется в области видимости того элемента, где он находится, то есть он не имеет своей собственной области видимости. Переменные, объявленные в скрипте, имеют такую же область видимости, что и область, в которой содержится скрипт.

Синтаксис:

<script charset="CDATA" 
        fetchhint="(prefetch|safe)" 
        fetchtimeout="CDATA" 
        maxage="CDATA" 
        maxstale="CDATA" 
        src="string - URI" 
        srcexpr="CDATA">

Атрибуты

  • charset — тип кодировки.
    (Необходимость указания: необязательно)
  • src — URI на скрипт (для случая, если он внешний).
    (Необходимость указания: обязательно)
  • srcexpr — ECMAScript для URI скрипта (для случая, если он внешний).
    (Необходимость указания: необязательно)
  • fetchtimeout — время ожидания содержимого сценария, которое должно быть возвращено, до тех пор пока не произойдет ошибка error.badfetch event. Если не указано, то используется значение по умолчанию.
    (Необходимость указания: необязательно)
    По умолчанию: 5s
  • fetchhint — используется, чтобы определить, когда данные должны быть получены во время выполнения работы приложения. Возможные значения и их описания:
  1. prefetch — данные получаются при первом выполнении документа
  2. safe — данные получаются, только когда они специально запрашиваются в приложении
    (Необходимость указания: необязательно)
    По умолчанию: safe
  • maxage — указывает максимально допустимое время выполнения сценария. Время указывается в секундах.
    (Необходимость указания: необязательно)
  • maxstale — указывает максимально допустимое "время жизни" сценария, то есть время в течение которого можно использовать сценарий. Время указывается в секундах.
    (Необходимость указания: необязательно)

Родители

<block> <catch> <error> <filled> <form> <help> <if> <noinput> <nomatch> <vxml>

Потомки

none

Пример

Голосовое приложение, вычисляющее факториал чисел от 1 до 10.

<?xml version="1.0" encoding="UTF-8"?> 
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml" xml:lang="ru-RU">
  <script> <![CDATA[ 
    function factorial(n) 
      {
      return (n <= 1)? 1 : n * factorial(n-1);
      } 
    ]]> 
  </script> 
  <form id="form"> 
    <field name="fact"> 
      <noinput>Говорите громче. <reprompt/> </noinput>
      <nomatch>Не удалось распознать сказанное слово. <reprompt/> </nomatch>
      <grammar xml:lang="ru-RU" root="main" mode="voice" version="1.0" tag-format="semantics/1.0">
        <rule id="main">
          <one-of>
            <item>1<tag>out="1"</tag></item>
            <item>2<tag>out="2"</tag></item>
            <item>3<tag>out="3"</tag></item>
            <item>4<tag>out="4"</tag></item>
            <item>5<tag>out="5"</tag></item>
            <item>6<tag>out="6"</tag></item>
            <item>7<tag>out="7"</tag></item>
            <item>8<tag>out="8"</tag></item>
            <item>9<tag>out="9"</tag></item>
            <item>10<tag>out="10"</tag></item>
          </one-of>
        </rule>	   
      </grammar> 
      <prompt>
        Назовите число от одного до десяти, факториал которого необходимо вычислить.
      </prompt> 
      <filled> 
        <prompt> 
          <say-as interpret-as="cardinal"> <value expr="fact"/> </say-as> факториал равно
          <value expr="factorial(fact)"/>
        </prompt> 
      </filled> 
    </field> 
  </form> 
</vxml>



Анонимный пользователь #1

1467 days ago
Голоса 0+-
<a> думаю вы правы </a>
Добавить новый комментарий
Если не хотите писать от анонимного пользователя, зарегистрируйтесь или представьтесь системе.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Статьи
Грамматики
Элементы VXML
Элементы SSML
Инструменты