@vimirtv

Как получить аватар пользователя VK в iframe приложении?

Доброе утро. После долгих поисков так и не смог найти ответ на вопрос.
  • Вопрос задан
  • 886 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AltQ
is = {
	type: function (value, type) {return {}.toString.call(value).match(/ ([a-z]+)/i)[1] == type}
}

registry = {}

function API_request(method, parameters, success, error) {
	if (!is.type(parameters, "Object")) {
		console.error("parameters must be an object.")

		return
	}

	var callback = "c" + String(Math.random()).slice(-6)
	var flag = false

	registry[callback] =
		function (data) {
			flag = true

			delete registry[callback]

			if (is.type(success, "Function")) {success(data)}
		}

	var URL = "https://api.vk.com/method/" + method + "?"

	for (var key in parameters) {URL += key + "=" + parameters[key] + "&"}

	var script = document.createElement("script")

	script.src = URL + "callback=registry." + callback

	script.onload = script.onerror =
		function () {
			if (flag) {return}

			delete registry[callback]

			if (is.type(error, "Function")) {error()}
		}

	document.head.appendChild(script)
}

API_request(
	"users.get",

	{
		user_ids: "1,2,3",
		fields: "photo_50"
	},

	function (response) {
		for (i = 0; i < response.response.length; i++) {
			img = document.createElement("img")

			img.src = response.response[i].photo_50

			document.body.appendChild(img)
		}
	},

	function () {alert("An error occured. No data loaded.")}
)
Ответ написан
@slvn2
Можно ещё проще, всё работает. Но! Никак не могу из функции вытащить локальную переменную с результатом, и сделать её глобальной. Подскажите пожалуйста, можно ли вот этот вот - result.response[0]['first_name'], как- то записать в глобальную переменною, уже всё перепробовал(

var api= "https://api.vk.com/method/users.get?user_id=1&v=5.45&callback=callbackFunc";
var script= document.createElement('SCRIPT'); 
script.src= api; 
document.getElementsByTagName("head")[0].appendChild(script); 


function callbackFunc(result) { 
alert(result.response[0]['first_name']);
}
Ответ написан
Ваш ответ на вопрос

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

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