@rusgayfer

Как получить значение photo_100 в функцию?

Нужно получить значение data.response[0].photo_100 в функцию function share_app() чтобы работало вот так
var w = window.open('https://vk.com/share.php?url=https://vk.com/app111111_-{id_cook}&title=Приложение сообщества {group_name}&image=' + data.response[0].photo_100, '', 'scrollbars=1');


var strGET = window.location.search.replace( '?', '');
var params = window
    .location
    .search
    .replace('?','')
    .split('&')
    .reduce(
        function(p,e){
            var a = e.split('=');
            p[ decodeURIComponent(a[0])] = decodeURIComponent(a[1]);
            return p;
        },
        {
		}
    );
	
var verapi = '5.78';
VK.api("groups.getById", {
 "group_ids": params['group_id'], "v": verapi
  }, function (data) {
document.getElementById('group_name').innerHTML = data.response[0].name;
var img = document.getElementById("group_photo"); img.src = data.response[0].photo_100;
var share_photo = data.response[0].photo_100;
});

function share_app() {
  var w = window.open('https://vk.com/share.php?url=https://vk.com/app111_-{id_cook}&title=Приложение сообщества {group_name}&image=' + share_photo , '', 'scrollbars=1');
  w.onload = function() {
  var z = this.document.getElementById("target");
  }
}


Не могу получить значение share_photo в функцию чтобы работало
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Попробуйте объявление share_photo вынести за пределы функции (из VK.api):
var verapi = '5.78';
var share_photo;
VK.api("groups.getById", {
 "group_ids": params['group_id'], "v": verapi
  }, function (data) {
document.getElementById('group_name').innerHTML = data.response[0].name;
var img = document.getElementById("group_photo"); img.src = data.response[0].photo_100;
// убираем var
share_photo = data.response[0].photo_100;
});

Либо в share_app добавьте параметр и передавайте в него значения. Это будет более правильный вариант, но логику придется подправить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы