javascript
  • ecmascript-5
  • ecma262
  • vxml
  • 2013-04-24 43 views 0 likes 
    0

    我有問題有以下情形: 我VXML具有如下片段:如何產生通過再生不良ECMA /一個VXML標籤JavaScript表達式

    <block> 
    <script src="myscript.es"/> 
    <audio> <value expr="temp()"/> </audio> 
    <exit/> 
    </block> 
    

    myscript.es:

    function temp(){ 
    var delay = new String("abc <break time='2000ms'/> pqr"); 
    return delay; 
    } 
    

    評估的表達式不被視爲標籤,而是如下所示: addd < break time ='2000ms'/ > bbb

    有沒有辦法從ecmascript表達式動態生成標籤?

    回答

    2

    您的示例中至少存在一些問題。首先,value標籤中使用的表達式的結果不應該返回一個break元素,而只是您希望文本到語音引擎進行回聲的項目。你需要做這樣的事情來在兩個值之間插入一箇中斷。

    <form id="F1"> 
        <var name="Color1" expr="'red'"/> 
        <var name="Color2" expr="'blue'"/> 
        <block> 
        <prompt> 
         My favorite colors are 
         <value expr="Color1"/> 
         <break time="2000ms"/> 
         <value expr="Color2"/> 
        </prompt> 
        </block> 
    </form> 
    

    而且您無法在VoiceXML中使用ECMA腳本生成標籤。要動態生成標籤,您必須使用您喜歡的Web技術,例如ASP.NET,JSP或PHP。

    如果您是VoiceXML的新手,並且熟悉ASP.NET MVC,那麼您可以使用一個名爲VoiceModel的開源項目,它可以生成動態VoiceXML,而無需瞭解VoiceXML語法。

    相關問題