2015-06-13 6 views
-1

Как определить функцию? Я хочу, чтобы определить name1 в FB.api> имя: имя1, но я получил сообщение об ошибке в консолиКак определить функцию в JavaScript?

Uncaught ReferenceError: name1 is not defined 

Вот мой код JavaScript:

function share(platform) { 
    var percent = $('.progress .percent').html().replace('%', ''); 
    var names = $('.progress .names').html().toUpperCase().split(' & '); 
    var name1 = names[0]; 
    var name2 = names[1]; 

    var queryString = encodeURIComponent('name1='+name1+'&name2='+name2+'&percent='+percent+'&text='+text+'&lang='+lang); 
    // var json = JSON.stringify(queryString); 
    var share_params = base64_encode(queryString); 

    var share_url = 'http://example?'; 

    var url = 'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(share_url)+share_params; 

    if(platform == 'whatsapp') { 
     var share_title = name1+' + '+name2+' = '+percent+'%! '+window.famobi.__('shareText'); 
     var url = 'whatsapp://send?text='+encodeURIComponent(share_title); 
    } 

    window.open(url,'name','height=400,width=600'); 
    return false; 
} 

и

function sharefb(countr,share,platform) { 
    $("div.bs-example").empty(); 
    $("p#share").html('<div class="col-lg-12 text-center"><div class="progress progress-striped active"><div id="statusbar"><div class="progress-bar progress-bar-info" role="progressbar" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100" style="width:100%;"><span class="sr-only">20% Complete</span></div></div></div></div>'); 
    statusbar(); 
    var formdata = $("input#cache").val(); 
    var formdatav = $("input#cache").val(); 
    if (countr != "") { 
     var formdata = formdatav.substr(0, formdatav.indexOf((countr + 1) + ".")); 
     if (formdata == "") { 
      var formdata = $("input#cache").val(); 
     } 
    } 
    FB.api('/me/feed', 'post', { 
     message: formdata, 
     name: name1, 
     description: "test des", 
     caption: "Test app", 
     link: "https://apps.facebook.com/*****/", 
     picture: "http://examplepic.png" 
    }, function(response) { 
     console.log(response); 
     if (!response || response.error) { 
      alert('Error occured'); 
     } 
     $("p#share").empty(); 
    }); 
} 
+1

name1 не существует внутри sharefb. – Brian

+0

Сделать имя1 глобальным – Technoid

+0

Можете ли вы предоставить мне пример? –

ответ

0

Несколько способов сделать это. Самый простой: придерживайтесь это до function share(platform) {:

var name1; 

Затем измените var name1 = names[0]; на

name1 = names[0]; 

Это определяет глобальные переменные name1 (первый бит) и затем делает, что вы не воссоздавать в качестве локальной переменной (вторая немного).

Таким образом, становится:

var name1; 

function share(platform) { 
    var percent = $('.progress .percent').html().replace('%', ''); 
    var names = $('.progress .names').html().toUpperCase().split(' &AMP; '); 
    name1 = names[0]; 
+0

спасибо, что решена сейчас !! :) –

Смежные вопросы