Facebook现在需要访问令牌来访问公共照片。我无法构建一个应用程序来解决这个问题,但我在网站上有50多个画廊已经破碎,我正试图找到最难以解决的解决方案。
假设我在我自己的服务器上的目录中拥有给定相册的所有图像,我可以修改此代码以获取我的图像并将每个图像放入列表标记中吗?基本上从我的服务器而不是Facebook获取给定目录中的图像并构建列表。
$.getJSON('//graph.facebook.com/ALBUM_ID/photos?callback=?', function (json) {
$.each(json.data, function () {
$('<li></li>')
.append('<span class="thumb" style="background: url(' + this.images[1].source + ') center no-repeat; background-size: 140%;"><a href=' + this.images[0].source + ' rel="gallery"></a></span>')
.appendTo('#album-gallery');
});
});
答案 0 :(得分:0)
从your comments开始,您可以通过编程方式将图片01.jpg
添加到20.jpg
,只需使用循环播放;
for (var i=1;i<=20;i++) {
var url = '/pathToYourFolder/image_' + (i < 10 ? '0' : '') + i + '.jpg';
$('<li></li>')
.append('<span class="thumb" style="background: url(' + url + ') center no-repeat; background-size: 140%;"><a href=' + url + ' rel="gallery"></a></span>')
.appendTo('#album-gallery');
}
请注意,我们已经使用我们自己的url
构造将之前添加的URL替换为图像。您需要使用您现在存储图像的文件夹名称更改/pathToYourFolder/
。
如果您决定要图像1-30或5-10,则只需更改for
循环的范围。
您可以通过将脚本包装在$(document).ready()
块中来避免在页面底部插入脚本。
如果您有多个文件名,可以将它们存储在一个数组中,并像这样迭代它们;
var names = ['anything.jpg', 'foo.jpg', 'bar.jpg', 'baz.jpg'];
for (var i=0;i<names.length;i++) {
var url = '/pathToYourFolder/' + names[i];
$('<li></li>')
.append('<span class="thumb" style="background: url(' + url + ') center no-repeat; background-size: 140%;"><a href=' + url + ' rel="gallery"></a></span>')
.appendTo('#album-gallery');
}
结合$(document).ready()
,这会给你;
$(document).ready(function () {
var names = ['anything.jpg', 'foo.jpg', 'bar.jpg', 'baz.jpg'];
for (var i=0;i<names.length;i++) {
var url = '/pathToYourFolder/' + names[i];
$('<li></li>')
.append('<span class="thumb" style="background: url(' + url + ') center no-repeat; background-size: 140%;"><a href=' + url + ' rel="gallery"></a></span>')
.appendTo('#album-gallery');
}
});