Instafeedjs - 如何为每张图片提供不同的尺寸

时间:2014-05-07 09:37:30

标签: javascript php jquery html instafeedjs

我使用Instafeed.js(http://instafeedjs.com)从Instagram收集图片并在我的网站上显示。但是如何控制每张图片的大小,并控制它是低分辨率还是标准分辨率?

<script type="text/javascript">
    var userFeed = new Instafeed({
        get: 'user',
        userId: userID,
        accessToken: 'accessToken',
        resolution: 'standard_resolution',
        template: '<a href="{{image}}"><img src="{{image}}" /></a>'
        });
    userFeed.run();
</script>

过去我使用过此代码,但它不再起作用了:

<?php
// Supply a user id and an access token
$userid = "userID";
$accessToken = "acessToken";

// Gets our data
function fetchData($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 20);
    $result = curl_exec($ch);
    curl_close($ch); 
     return $result;
}

// Pulls and parses data.
$result = fetchData("https://api.instagram.com/v1/users/2254178/media/recent/?access_token=2254178.467ede5.4cf795f92f0a49b68724a782e706f6b5");
$result = json_decode($result);
?>

<?php $x = 1; ?>
if($x == 1) { 
    echo'<a class="group left big" rel="group1" href="'.$post->images->standard_resolution->url.'"><img src="'.$post->images->standard_resolution->url.'"></a>';
    $x = 2; 
}

else if($x == 2) {
    echo'<a class="group left small" rel="group1" href="'.$post->images->standard_resolution->url.'"><img src="'.$post->images->low_resolution->url.'"></a>';
    $x = 3; 
}

1 个答案:

答案 0 :(得分:2)

有点晚了,我知道,但有一种简单且可扩展的方法可以用instafeed.js处理这个问题。

创建Instafeed实例时,应在模板中引用模型变量。例如:

<script type="text/javascript">
    var userFeed = new Instafeed({
        get: 'user',
        userId: userID,
        accessToken: 'accessToken',
        resolution: 'standard_resolution',
        template: '<a href="{{model.images.low_resolution.url}}"><img src="{{image}}" /></a>'
        });
    userFeed.run();
</script>

将为您提供链接到较低分辨率图像的标准分辨率图像。通过允许访问整个JSON模型,Instafeed为您提供了对如何使用图像的大量控制。

Stephen Schobert(不安全的作者)对模型包含的内容有一个很好的样本:https://github.com/stevenschobert/instafeed.js/issues/21