Instafeed.js - 如何过滤或排除特定图像或用户?
Instafeed.js - how to filter out or exclude specific image or user?
我知道过滤器被用来显示更具体的结果。但是有没有一种方法可以让我用它来排除特定的用户或图像呢?或者 instafeed.js 有其他选择吗?
var feed = new Instafeed({
target: 'instafeed',
get: 'tagged',
tagName: 'hashtag',
limit: '10',
sortBy: 'most-recent',
resolution: 'standard_resolution',
clientId: 'xxxxx',
template:'<img class="item" src="{{image}}">',
filter: function(image) {
//filter to exclude specific user
}
});
感谢任何反馈。
非常感谢!
是的。如果您 return false
过滤功能,它将从结果中排除图像。
所以要阻止来自特定用户的图像,您可以检查 image.user.username
属性:
filter: function(image) {
var blockedUsernames = [
'reallybaduser',
'otherreallybaduser'
];
// check for blocked users
for (var i=0; i<blockedUsernames.length; i++) {
if (image.user.username === blockedUsernames[i]) {
return false;
}
}
return true;
}
您可以扩展过滤器功能以检查图像的任何 属性。因此,如果您知道要阻止的图像的特定 id
,您也可以检查 属性。
Stevens 的回答是否解决了您的问题?
它对我不起作用 =/。也用 model.user.username(我在打印上传者用户名时使用)进行了测试,但没有用。
<script type="text/javascript">
var feed = new Instafeed({
get:'tagged',
tagName: 'horizon',
clientId: 'xxxxxxx',
limit:'16',
sortBy: 'most-liked',
resolution:'low_resolution',
template: '<img src="{{image}}" class="imagen" <p>Likes: {{likes}} User: {{model.user.username}} </p> ',
/* filter: function(image) {
var blockedUsernames = [
'reallybaduser',
'otherreallybaduser'
];
// check for blocked users
for (var i=0; i<blockedUsernames.length; i++) {
if (image.user.username === blockedUsernames[i]) {
return false;
}
}
return true;
}, */
after:function(){
var images = $('#instafeed').find('a');
}
});
feed.run();
/*==== GET MORE PICTURES.. ======*/
$(function() {
$("#load-more").click( function()
{
feed.next();
}
);
});
</script>
作为对 Dahak 的回复,Steven 的代码对我有用!这是我网站上的完整代码:
<script type="text/javascript">
var feed = new Instafeed({
get: 'tagged',
tagName: 'hashtag',
clientId: 'xxxxxxxx',
template: '<a href="{{link}}" target="_blank"><img src="http:{{image}}" class="insta" /></a>',
limit: 20,
filter: function(image) {
var blockedUsernames = [
'baduser',
'otherreallybaduser'
];
// check for blocked users
for (var i=0; i<blockedUsernames.length; i++) {
if (image.user.username === blockedUsernames[i]) {
return false;
}
}
return true;
}
});
feed.run();
</script>
您在测试代码时是否排除了注释标记 /*
和 */
?
抱歉,我的知识有限 javascript。 =/
我知道过滤器被用来显示更具体的结果。但是有没有一种方法可以让我用它来排除特定的用户或图像呢?或者 instafeed.js 有其他选择吗?
var feed = new Instafeed({
target: 'instafeed',
get: 'tagged',
tagName: 'hashtag',
limit: '10',
sortBy: 'most-recent',
resolution: 'standard_resolution',
clientId: 'xxxxx',
template:'<img class="item" src="{{image}}">',
filter: function(image) {
//filter to exclude specific user
}
});
感谢任何反馈。 非常感谢!
是的。如果您 return false
过滤功能,它将从结果中排除图像。
所以要阻止来自特定用户的图像,您可以检查 image.user.username
属性:
filter: function(image) {
var blockedUsernames = [
'reallybaduser',
'otherreallybaduser'
];
// check for blocked users
for (var i=0; i<blockedUsernames.length; i++) {
if (image.user.username === blockedUsernames[i]) {
return false;
}
}
return true;
}
您可以扩展过滤器功能以检查图像的任何 属性。因此,如果您知道要阻止的图像的特定 id
,您也可以检查 属性。
Stevens 的回答是否解决了您的问题?
它对我不起作用 =/。也用 model.user.username(我在打印上传者用户名时使用)进行了测试,但没有用。
<script type="text/javascript">
var feed = new Instafeed({
get:'tagged',
tagName: 'horizon',
clientId: 'xxxxxxx',
limit:'16',
sortBy: 'most-liked',
resolution:'low_resolution',
template: '<img src="{{image}}" class="imagen" <p>Likes: {{likes}} User: {{model.user.username}} </p> ',
/* filter: function(image) {
var blockedUsernames = [
'reallybaduser',
'otherreallybaduser'
];
// check for blocked users
for (var i=0; i<blockedUsernames.length; i++) {
if (image.user.username === blockedUsernames[i]) {
return false;
}
}
return true;
}, */
after:function(){
var images = $('#instafeed').find('a');
}
});
feed.run();
/*==== GET MORE PICTURES.. ======*/
$(function() {
$("#load-more").click( function()
{
feed.next();
}
);
});
</script>
作为对 Dahak 的回复,Steven 的代码对我有用!这是我网站上的完整代码:
<script type="text/javascript">
var feed = new Instafeed({
get: 'tagged',
tagName: 'hashtag',
clientId: 'xxxxxxxx',
template: '<a href="{{link}}" target="_blank"><img src="http:{{image}}" class="insta" /></a>',
limit: 20,
filter: function(image) {
var blockedUsernames = [
'baduser',
'otherreallybaduser'
];
// check for blocked users
for (var i=0; i<blockedUsernames.length; i++) {
if (image.user.username === blockedUsernames[i]) {
return false;
}
}
return true;
}
});
feed.run();
</script>
您在测试代码时是否排除了注释标记 /*
和 */
?
抱歉,我的知识有限 javascript。 =/