Вы здесь

[РЕШЕНО] Ajax подгрузка js функции

1

Есть код виджета от социалки, допустим:

<script type="text/javascript" src="//vk.com/js/api/openapi.js?116"></script>

<div id="vk_groups"></div>
<script type="text/javascript">
VK.Widgets.Group("vk_groups", {mode: 0, width: "220", height: "400", color1: 'FFFFFF', color2: '2B587A', color3: '5B7FA6'}, 20003922);
</script>

Его надо правильно подгрузить в div.
Почему у меня не выходит? Я загружаю его через ajax_command_html и ясен пень у меня на выходе только <div id="vk_groups"></div>.
Совственно надо не только загрузить функции а ещё и заставить их работать в момент вызова.

P.S. При этом неплохо было б выбирать какод код подгружать. Не знаю как, может быть по классу или id или ещё как.

Версия Drupal: 
7.x
Категория: 
AJAX
Вопрос задан 01.04.2015 - 20:04
Аватар пользователя SAM
SAM
212

Если что-то не выходит, то принято выкладывать код.

Комментарий оставлен 01.04.2015 - 20:37
function ajax_callback($group) {
    $html = $conf[$group]; // В этой переменной тот самый код (см. выше)

    $result = array('#type' => 'ajax');
    $result['#commands'][] = ajax_command_html('div#vk', $html); // Так рендерит только div
    $result['#commands'][] = array( // Ещё вариант из js файла загрузить код виджета
      'command' => 'myСommand',
      'title' => $group,
    );

    return $result;
}

То что пробовал через комманду myСommand:

(function ($, Drupal, window, document, undefined) {

Drupal.ajax.prototype.commands.myСommand = function(ajax, response, status) {
// Тут пока без задействования входящего параметра.
VK.Widgets.Group("vk_groups", {mode: 0, width: "220", height: "400", color1: 'FFFFFF', color2: '2B587A', color3: '5B7FA6'}, 20003922);
}

})(jQuery, Drupal, this, this.document);
Комментарий оставлен 01.04.2015 - 20:45

Точно... консоль...
Error: VK.Widgets: object #vk_groups not found.
И я увидел что через ajax_command_html подгружается только <div></div> вместо <div id="vk_groups"></div>.
Потому что ввод данных был через textarea...

В общем всё заработало. Спасибо что про консоль сказал, буду знать что там можно ловить эти данные.

Комментарий оставлен 01.04.2015 - 21:14

Ответы