Я пытаюсь получить последние 50 твитов, используя определенный хэш-тег, на мобильном устройстве, используя PhoneGap (0.9.6) и jQuery (1.6.1).Вот мой код:
function getTweets(hash, numOfResults) {
var uri = "http://search.twitter.com/search.json?q=" + escape(hash) + "&callback=?&rpp=" + numOfResults;
console.log("uri: " + uri);
$.getJSON(uri, function(data) {
var items = [];
if(data.results.length > 0) {
console.log("got " + data.results.length + " results");
$.each(data.results, function(key, val) {
var item = "<li>";
item += "<img width='48px' height='48px' src='" + val.profile_image_url + "' />";
item += "<div class='tweet'><span class='author'>" + val.from_user + "</span>";
item += "<span class='tweettext'>" + val.text + "</span>";
item += "</div>";
item += "</li>";
items.push(item);
});
}
else {
console.log("no results found for " + hash);
items.push("<li>No Tweets about " + hash + " yet</li>");
}
$("#tweetresults").html($('<ul />', {html: items.join('')}));
});
}
Этот код прекрасно работает в браузере и некоторое время работал в симуляторе iPhone.Теперь он не работает ни на симуляторе iPhone, ни на Android.Я не вижу ни одного из журналов консоли, и он все еще работает в браузере.
Что я делаю не так?Если невозможно позвонить getJson()
на мобильное устройство с помощью PhoneGap, то какова моя альтернатива (надеюсь, не прибегая к нативному коду - это поможет достичь цели).
Бонус: как я могу отладить это намобильный симулятор?В браузере я использую инструменты dev или Firebug, но в симуляторах, как уже упоминалось, я даже не получаю сообщения журнала.
Как всегда, спасибо за ваше время,
Парень
Обновление:
Как интуитивно понятно, @Greg, функция вообще не вызывалась.Вот что я нашел и как обошел:
У меня есть этот <a>
элемент в HTML <a href="#" id="getTweets">Get tweets</a>
Затем у меня есть этот код в функции $(document).ready()
:
$("#getTweets").click(function() {
var hash = "#bla";
getTweets(hash, 50);
});
Это не вызывало функцию.Но как только я изменил код на:
function gt() {
var hash = "#bla";
getTweets(hash, 50);
}
, а мой HTML-код:
<a href="javascript:gt()" id="getTweets">Get Tweets</a>
, он теперь работает и вызывает Twitter как задумано.Я понятия не имею, что облажалось с этой конкретной привязкой click (), но я сталкивался с подобными проблемами с PhoneGap раньше.Любые идеи приветствуются.