DTMF клиента Twilio не работает

Я работаю над клиентским приложением Twilio, и мне трудно отправлять тоны DTMF. Вот код, который у меня есть до сих пор:

<script type="text/javascript">
$.each(['0','1','2','3','4','5','6','7','8','9','star','pound'], function(index, value) { 
    $('#button' + value).click(function(){ 
        if(connection) {
            if (value=='star')
                connection.sendDigits('*')
            else if (value=='pound')
                connection.sendDigits('#')
            else
                connection.sendDigits(value)
            return false;
        } 
     });
  });
</script>


<div id="dialpad">
    <table>
    <tr>
    <td><input type="button" value="1" id="button1"></td>
    <td><input type="button" value="2" id="button2"></td>
    <td><input type="button" value="3" id="button3"></td>
    </tr>
    <tr>
    <td><input type="button" value="4" id="button4"></td>
    <td><input type="button" value="5" id="button5"></td>
    <td><input type="button" value="6" id="button6"></td>
    </tr>
    <tr>
    <td><input type="button" value="7" id="button7"></td>
    <td><input type="button" value="8" id="button8"></td>
    <td><input type="button" value="9" id="button9"></td>
    </tr>
    <tr>
    <td><input type="button" value="*" id="buttonstar"></td>
    <td><input type="button" value="0" id="button0"></td>
    <td><input type="button" value="#" id="buttonpound"></td>
    </tr>
    </table>
</div>

Когда я звоню на свой тестовый номер и нажимаю кнопку на клавиатуре, он не отправляет значения. Любая помощь в этом очень ценится?


person three3    schedule 01.07.2012    source источник
comment
Привет, Просто прочитав javascript, при условии, что неясно, вы инициализируете переменную connection в любом месте. Кроме того, можете ли вы подтвердить с помощью console.log, что функция each() действительно выполняется, когда вы нажимаете на любой из входов?   -  person Kevin Burke    schedule 05.07.2012


Ответы (1)


В вашем блоке сценария вам необходимо иметь доступный объект подключения. Итак, над вашей функцией вам понадобится что-то вроде:

var connection = null;
Twilio.Device.setup('your token');
params = { "number" : "5559871234", "outbound" : "true" };
connection = Twilio.Device.connect(params);

По сути, этой функции просто нужно «увидеть» переменную соединения. Если ваши файлы javascript находятся в разных местах и ​​вы не можете их объединить, вы можете сделать объект подключения глобальным (не идеальным), по крайней мере, чтобы увидеть, сможете ли вы заставить его работать.

connection = null;

(сначала без "var")

person Nathan Loyer    schedule 12.07.2012