Нажмите, чтобы позвонить из приложения в OpenVBX

Я пытаюсь отправить две части данных из внешнего веб-приложения в OpenVBX.

calltonum:(phone number in format +12345678902)
callfromnum:(phone number in format +12345678902)

Как только данные в приложении, я пытаюсь использовать эту функцию:
http://www.openvbx.org/docs/browserphone/api/

OpenVBX.clientDial({
'to': calltonum,
'callerid': callfromnum
});

Я проверил, что эта функция Javascript работает с плагином, но пока не удалось успешно разместить данные в плагине. Первоначально я боялся, что столкнусь с проблемами аутентификации, но быстро обнаружил, что у меня уже есть открытый сеанс и я отправляю данные непосредственно в функцию внутри пользовательского контроллера с классом, который расширяет User_Controller… Он получает данные поста и просто передает их на просмотр.

Сейчас моя проблема в том, что когда я загружаю представление, оно прекрасно заполняется всеми CSS и Javascript, а также возможностью просмотра данных на экране, но Затем страница запрашивает «/» для загрузки, которая перенаправляет браузер в / messages / inbox. Я также получаю сообщение об ошибке js:

Uncaught ReferenceError: $ is not defined(anonymous function) @ dosomethingplease:116

При попытке использовать API-интерфейс браузера заставляет меня поверить, что jquery не был загружен в шаблон.

Вот код, который у меня сейчас есть:

dialbrowser.php создан в / controllers

<?php

class dialbrowserException extends Exception {}

class dialbrowser extends User_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
return $this->dosomethingplease();
}
public function dosomethingplease()
{
$data = $this->init_view_data();
$this->template->add_js('assets/j/plugins/call-and-sms-dialogs.js');
$this->template->add_js('assets/j/frameworks/jquery-1.6.2.min.js');
$data = array('calltonum' => $this->input->post('calltonum'), 'callfromnum' => $this->input->post('callfromnum'));

$this->respond('title','dialnow', $data);
}
}

?>

dialnow.php создан в / views

<div class="vbx-content-main">

<div class="vbx-content-menu vbx-content-menu-top">
<h2 class="vbx-content-heading">Test-a-roo</h2>
</div><!-- .vbx-content-menu -->

<div class="vbx-content-container">
<div class="vbx-content-section">
<div class="vbx-form">
<h3>Receipt of Number passed:</h3>
<div>
And here we made it the whole way.... didnt think we could do it huh?
<?php
echo "lets do this for sanity's sake... to: ".$calltonum." and from: ".$callfromnum." ...see no issues with the data!";
$html = "<script> $('document').ready(function(){OpenVBX.clientDial({'to': '".$calltonum."', 'callerid': '".$callfromnum."'});}); </script>";
echo $html;
?>
</div>
</div>
</div><!-- .vbx-content-section -->
</div><!-- .vbx-content-container -->

</div><!-- .vbx-content-main -->

и в настоящее время я могу успешно публиковать в / dialbrowser / index или / dialbrowser / dosomethingplease, и данные заполняются в представлении.

Что я не понимаю, так это почему это перенаправление? А также, так как я расширяю User_Controller не должны ли все критические jquery / javascript уже быть успешно загружены?

ОБНОВИТЬ: Я изменился $route['dialbrowser'] = "dialbrowser"; в /config/routes.php, Он не перенаправляет на уровне контроллера сейчас! Теперь я вижу, что левого меню там нет, кнопка вызова не работает, а предыдущая ошибка javascript все еще сохраняется.

1

Решение

Это то, что вы ищете? Существует концептуальный плагин для добавления клика для вызова Openvbx, но вам нужно изменить несколько строк, чтобы отключить защиту при публикации в плагинах без авторизации. https://github.com/twilio/OpenVBX/wiki/Plugin-Click-to-Flow

1

Другие решения

Каким-то образом готовый документ не работает на странице плагина. Тебе стоит попробовать window.onload вместо $ ( ‘Документ’). Готов
Таким образом, строка будет:

$html = "<script> window.onload=function(){OpenVBX.clientDial({'to': '".$calltonum."', 'callerid': '".$callfromnum."'});}; </script>";
1

По вопросам рекламы [email protected]