2014-09-28 66 views
0

我正在开发应用程序使用jQuery Mobile和Phonegap,这个应用程序我想集成twitter。 我试试这个。微博集成jquery移动应用程序

<script type="https://twitter.com/status/user_timeline/'user'.json?count=30&callback=listTweets" type="text/javascript"></script> 

JavaScript是:

function listTweets(data){ 
console.log(data); 
var output = '<ul data-role="listview">'; 

$.each(data, function(key, val){ 
    var text = data[key].text; 
    var thumbnail = data[key].user.profile_image_url; 
    var name = data[key].user.name; 

    output += '<li>'; 
    output += '<img src="' +thumbnail+ '" alt="Photo Of ' +name+ '">'; 
    output += '<div>' +text+ '</div>'; 
    output += '</li>'; 
    }); 
    output += '</ul>'; 
    $('#tweetlist').html(output); 
} 

HTML是:

<div data-role="page" id="tweets"> 
<div data-role="content" id="tweetlist"> 
</div> 
</div> 

它给我黑屏,当我检查元素,它给我:

考虑使用 'DPPX'单位,如在CSS'dpi'中表示每英寸点数,而不是每英寸点数,因此不符合屏幕的实际“dpi” 。在媒体查询表达式:只有屏幕和(-webkit分钟设备像素比:1.5),不是所有的,只有屏幕和(最小分辨率:240dpi)

任何建议

在先进的感谢。 http://api.jquerymobile.com/listview/#method-refresh

$("#tweetlist").listview('refresh'); 

应该作品:

回答

0

按规定使用本文的refresh电话。

编辑

我的道歉。我没有仔细阅读你的代码。主要问题是你的$.each循环。您关闭ul标签,你显示结果之前的循环结束试试这个(JS是functionnal你不记得了?):

function listTweets(data){ 
    console.log(data); 
    var output = '<ul data-role="listview">'; 
    var text, thumbnail, name; 

    // Use a loop instead a $.each 
    for(var i=0, _len=data.length; i < length; i++) { 
     text = data[i].text; 
     thumbnail = data[i].user.profile_image_url; 
     name = data[i].user.name; 

     output += '<li>'; 
     output += '<img src="' +thumbnail+ '" alt="Photo Of ' +name+ '">'; 
     output += '<div>' +text+ '</div>'; 
     output += '</li>'; 
    } 
    output += '</ul>'; 
    $('#tweetlist').html(output); 
    $("#tweetlist").listview('refresh'); // In case of 
} 
+0

都能跟得上它不工作 – user3603107 2014-09-28 15:18:41

+0

仍然黑屏 – user3603107 2014-09-29 13:49:56

+0

你有没有控制你的数据?您是否尝试使用桌面浏览器?你用'console.log(output)'输出了吗?发现科尔多瓦的错误有时会非常困难。 – 2014-09-29 17:55:18