所以我制作了一个脚本,将数据从 facebook 墙上取出并发布到网站上。这个脚本在 Firefox 和 chrome 以及我的手机上运行良好,所以我猜也是 safari。不过,像往常一样,Internet Explorer 已决定对此进行取笑。
因此,我使用 getJSON 调用来访问 facebook URL 并返回数据。然后,我将我需要的部分数据放入 html 代码中,然后将其发送回并显示在网站上。我也希望能够在 Internet Explorer 上使用它。希望有人可以看看并发现如何修复它(或改进我的代码:D)。我不经常使用 Javascript / JQuery 并且可以用它做一些基本的事情,但是当涉及到解决这样的问题时,我很快就会迷失方向。生病在下面发布脚本。谢谢
更新
所以我在脚本中添加了一个错误回调来检查问题是什么,它在 Internet Explorer 中给出了 No Transport 错误,但在任何其他浏览器中都没有。有人知道解决这个问题吗?
var myNewData, myOldData;
function fbstream() {
var restart_counter, url, time, date, html, post_count;
url = "https://graph.facebook.com/xyz/posts?limit=7&access_token=121936661313114|YX63lMRU9wc8RDP8MMSs9keT3fQ";
$.getJSON(url, function (json) {
html = "<div class='fbfeed'>";
if (json.data[0] === undefined && restart_counter < 5) {
fbstream();
restart_counter += 1;
} else if (json.data[0] === undefined && restart_counter === 5) {
$('.facebookfeed').html("Problem loading Facebook content");
} else {
post_count = 0;
if (myNewData !== undefined) {
myOldData = myNewData;
}
myNewData = json.data[0].id;
if (myOldData !== myNewData || myOldData === undefined) {
$.each(json.data, function (i, fb) {
if (fb.message !== undefined) {
post_count += 1;
date = fb.created_time.substring(0, 10).split("-", 3).reverse().join("-", 3);
time = fb.created_time.substring(11, 19);
html += "<div class='fbpost'><div class='dateandtime'>" + date + " at " + time + "</div><div class='fbmsg'>" + fb.message + "</div>";
if (fb.picture !== null) {
html += "<div class='fbimg'><img src='" + fb.picture + "' class='center' /></div>";
}
html += "</div>";
if (post_count === 3) {
return false;
}
}
});
html += "</div>";
$('.facebookfeed').html(html);
}
}
});
restart_counter = 0;
}
setInterval(function () {
fbstream();
}, 300000);
我试图尽可能地格式化它以使其可读。零件可能略有偏差。
正如标题所提到的,当我访问 getJSON 查询的 url 时,Internet Explorer 会返回一个名为 posts.js 的文件。在 Firefox 和 chrome 中,该 url 只是在带有一堆 json 数据的新页面中打开。
如果需要,我可以发布 json 数据的示例
这是 post.js 中要求的一个项目。还有更多,但我只是拿了一个作为参考
{
"data": [
{
"id": "3688793151660_5429280924451",
"from": {
"category": "Energy/utility",
"name": "xyz",
"id": "3688793151660"
},
"message": "And after !",
"picture": "http://photos-h.ak.fbcdn.net/hphotos-ak-ash3/123.jpg",
"link": "http://www.facebook.com/photo.php?fbid=282413452&set=a.368887806484148.88464.368879353151660&type=1&relevant_count=1",
"icon": "http://static.ak.fbcdn.net/rsrc.php/v2/yz/r/StEh33hPvjk.gif",
"privacy": {
"value": ""
},
"type": "photo",
"status_type": "added_photos",
"object_id": "542928413452",
"application": {
"name": "Facebook for iPhone",
"namespace": "fbiphone",
"id": "66268379"
},
"created_time": "2013-03-07T15:24:00+0000",
"updated_time": "2013-03-07T15:24:00+0000",
"likes": {
"data": [
{
"name": "removed",
"id": "1000392350"
},
{
"name": "removed",
"id": "721372"
}
],
"count": 2
},
"comments": {
"count": 0
}
},
"paging": {
"previous": "https://graph.facebook.com/3688793151660/posts?limit=7&access_token=121936661313114|YX63lMRU9wc8RDP8MMSs9keT3fQ&since=1362669840&__previous=1",
"next": "https://graph.facebook.com/3688793151660/posts?limit=7&access_token=121936661313114|YX63lMRU9wc8RDP8MMSs9keT3fQ&until=1358410924"
}
}
格式有点乱,一些 ids/names 已被编辑/删除