Имеется функция для сокращения URL, создающая потомок, загружающая туда скрипт и обрабатывающая ответ от сервера, насколько я понимаю. Проблема в том, что я не могу вернуть сокращённый URL из коллбэк функции my_callback. Как сделать, чтобы функция shortURL возвращала сокращённый URL, получаемый функцией my_callback?
function shortURL(url)
{
var shorted="none";
window.my_callback = function(response)
{
if(response.error_message)
{
console.info("An error occured: " + response.error_message);
}
else
{
shorted = response.short_url;
console.info(shorted); //здесь выведет сокращенную ссылку
}
};
var s = document.createElement("script");
s.setAttribute("src", "http://ggl-shortener.appspot.com/?url=" + encodeURIComponent(url) + "&jsonp=my_callback");
document.body.appendChild(s);
console.info(shorted); //здесь выведет "none"
}
Скрипт взят отсюда
http://ggl-shortener.appspot.com/instructions/