Не работает скрипт

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)

Не работает скрипт

Сообщение mgn_nikey » 31 авг 2012, 19:07

Вообщем, проблема в том, что код, начинающийся с "var viewer_id;var auth_key;" не работает, а все, что до него работает
  1.  
  2. $(document).ready(function(){
  3.  if (typeof VK != 'undefined') {
  4.      setInterval('vk_resize()', 500);
  5.   }
  6.  
  7. $('#refresh_dota').click(function(){
  8.         $.ajax({
  9.             url: "ajax_streams_dota.php",
  10.             cache: false,
  11.             beforeSend: function() {
  12.                 $('#content').html('<img src="http://dota-advice.ru/streams/ajax-loader.gif" width="230" height="35">');
  13.             },
  14.             success: function(html){
  15.                 $("#content").html(html);
  16.             }
  17.         });
  18.         return false;
  19.     });
  20.    
  21.     $('#refresh_lol').click(function(){
  22.         $.ajax({
  23.             url: "ajax_streams_lol.php",
  24.             cache: false,
  25.             beforeSend: function() {
  26.                 $('#content').html('<img src="http://dota-advice.ru/streams/ajax-loader.gif" width="230" height="35">');
  27.             },
  28.             success: function(html){
  29.                 $("#content").html(html);
  30.             }
  31.         });
  32.         return false;
  33.     });
  34.    
  35.     $('#refresh_diablo_3').click(function(){
  36.         $.ajax({
  37.             url: "ajax_streams_diablo_3.php",
  38.             cache: false,
  39.             beforeSend: function() {
  40.                 $('#content').html('<img src="http://dota-advice.ru/streams/ajax-loader.gif" width="230" height="35">');
  41.             },
  42.             success: function(html){
  43.                 $("#content").html(html);
  44.             }
  45.         });
  46.         return false;
  47.     });
  48.    
  49.     $('#refresh_blc').click(function(){
  50.         $.ajax({
  51.             url: "ajax_streams_blc.php",
  52.             cache: false,
  53.             beforeSend: function() {
  54.                 $('#content').html('<img src="http://dota-advice.ru/streams/ajax-loader.gif" width="230" height="35">');
  55.             },
  56.             success: function(html){
  57.                 $("#content").html(html);
  58.             }
  59.         });
  60.         return false;
  61.     })
  62.  
  63. var viewer_id;
  64. var auth_key;
  65. var wasPayBox = false; // было открыто окно "Внесите 1 голос", при нажатии на кнопку "Добавить"
  66.  
  67.     VK.init(function() {
  68.         VK.loadParams(document.location.href);
  69.         viewer_id = VK.params.viewer_id;
  70.         auth_key = VK.params.auth_key;
  71.         getBalance();
  72.         updateLinks();
  73.     });
  74.  
  75.  
  76. // функция обновления баланса
  77. function getBalance(){
  78.         VK.api("getUserBalance", function(data) {
  79.             // если баланс меньше 1 голоса, то выводим ссылку "пополнить"
  80.             votes = parseInt(data.response)/100;
  81.             if (votes<1) {
  82.                 $('#balance').html('Ваш баланс: ' + votes + ' ' + num_ending(votes));
  83.                 $('#addVotes').show();
  84.              } else {
  85.                 $('#balance').html('Ваш баланс: ' + votes + ' ' + num_ending(votes));
  86.              }  
  87.         });
  88. }
  89.  
  90.  
  91.  
  92. // клик по "Ваш баланс" - обновить
  93. $('#balance').click(function() {
  94.     getBalance();
  95.     return false;
  96. });
  97.  
  98. // клик по "Развернуть"
  99. $('#hideGetBalance').click(function() {
  100.     $('#showInfoBalance'). FadeIn();
  101.     return false;
  102. });
  103.  
  104. // клик по "Пополнить баланс"
  105. $('#addVotes').click(function() {
  106.     VK.callMethod("showPaymentBox");
  107.     return false;
  108. });
  109.  
  110. // баланс был изменен
  111. VK.addCallback("onBalanceChanged", onBalanceChanged);
  112. function onBalanceChanged(settings) {
  113.     getBalance();
  114.     if (wasPayBox) { // если вызывали окно пополнения, то вероятно пользователь пополнил баланс
  115.         wasPayBox = false;
  116.         // пробуем отправить данные снова
  117.         $('#addLink_btn').click();
  118.     }
  119. }
  120.  
  121.  
  122. // отправляем на сервер
  123. $('#addLink_btn').click(function() {
  124.     // проверяем баланс
  125.     VK.api("getUserBalance", function(data) {
  126.         // если баланс меньше 1 голоса, то выводим окно "пополнить на 1 голос"
  127.         if (data.response<100) {
  128.             VK.callMethod("showPaymentBox",1);
  129.             wasPayBox = true;
  130.         } else {
  131.                 var error = false;
  132.                 var t = ''; // текст ошибок
  133.                 var url = $('#url').val();
  134.  
  135.                 // проверяем ссылку
  136.                 if (url.indexOf('http://vkontakte.ru/id')!==0) {
  137.                     t += 'Укажите правильную ссылку с вашим ID, на который будут приходить оповещения и разрешите приложению отправку уведомлений.';
  138.                     error=true;
  139.                 }
  140.                 if (url.length>50) {
  141.                     // if (error) - проверка, содержит ли переменная с ошибками какой-то текст, чтобы не делать лишний перенос строки
  142.                     if (error) { t += '<br />';}
  143.                     t += 'Максимальная длина ссылки 50 символов!';
  144.                     error=true;
  145.                 }
  146.                
  147.                 // если есть ошибки
  148.                 if (error) {
  149.                     $('.error').html(t);
  150.                     $('.success').slideUp();
  151.                     $('.error').slideDown();
  152.                 } else {
  153.                     $('.error').hide(); // скрываем блок с ошибкой (он мог быть открыт)
  154.                     // показываем предзагрузчик
  155.                     $('#showInfoBalance').show();
  156.                     // отправляем данные на сервер
  157.                     $.post('http://flapps.ru/apps/test/addlink.php', { "title": title, "url": url, "viewer_id": viewer_id, "auth_key": auth_key },
  158.                         function(data){
  159.                             if (data.success) {
  160.                                 $('.success').html(data.success.msg);
  161.                                 $('.error').slideUp();
  162.                                 $('.success').slideDown();
  163.                             } else {
  164.                                 $('.error').html(data.error.msg);
  165.                                 $('.success').slideUp();
  166.                                 $('.error').slideDown();
  167.                             }
  168.                             // обновляем баланс
  169.                             getBalance();
  170.                             // скрываем предзагрузчик
  171.                             $('#showInfoBalance').fadeOut(1000);
  172.                         }, "json");
  173.                 }
  174.              }
  175.         });
  176. return false;
  177. })
  178.  
  179.        
  180. });
  181.  
  182. function num_ending(number) {
  183.     var endings = ['голосов','голос','голоса'];
  184.     var num100 = number % 100;
  185.     var num10 = number % 10;
  186.     if (num100 >= 5 && num100 <= 20) {
  187.         return endings[0];
  188.     } else if (num10 == 0) {
  189.         return endings[0];
  190.     } else if (num10 == 1) {
  191.         return endings[1];
  192.     } else if (num10 >= 2 && num10 <= 4) {
  193.         return endings[2];
  194.     } else if (num10 >= 5 && num10 <= 9) {
  195.         return endings[0];
  196.     } else {
  197.         return endings[2];
  198.     }
  199. }
  200.  
mgn_nikey

 
Автор темы
Сообщения: 9
Зарегистрирован: 17 авг 2012, 13:55
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Не работает скрипт

Сообщение bzx » 31 авг 2012, 22:35

Советую Вам для начала локализовать проблему до строк 10ти кода , больше желающих помочь будет.
bzx

 
Сообщения: 18
Зарегистрирован: 30 авг 2012, 22:47
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Не работает скрипт

Сообщение mgn_nikey » 31 авг 2012, 23:26

Вообщем, все наладилось, поперемещал функции, все заработало :)
mgn_nikey

 
Автор темы
Сообщения: 9
Зарегистрирован: 17 авг 2012, 13:55
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.


Вернуться в Создание IFrame-приложений ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0