如何创建更多按钮以使用脚本加载下一批照片

时间:2019-06-07 22:39:56

标签: javascript php instagram

我得到了这个整齐的小Instagram脚本,该脚本提取了标签标签帖子,从而跳过了API流程,但我不知道如何加载下一批。一次最多只能加载6张照片。

我尝试过这样的事情

module.exports = {
  //...
  externals: {
     './MyModuleFile': MyModule,
  }
};

但是从来没有任何运气..

    <script type="text/javascript">
 $(window).scroll(function () {
         if ($(window).scrollTop() + $(window).height() == $(document).height()) {
      return $insta_array;
         }
 });

    </script>

我可以显示真实结果,只是不能加载超过60张左右的图像。

1 个答案:

答案 0 :(得分:0)

您能做的是使用AJAX并添加帖子数限制。假设这是div。您必须将帖子的索引存储在div中

echo '<div index="'. $i .'" class="photo"><a href="'.$newPosting['image'].'"><img src="'.$newPosting['thumbnail'].'"></a><div class="caption">'.$newPosting['caption'].'</div></div>';

当div位于底部时,您可以发送这样的ajax

$(window).scroll(function() {
  let index = $('.photo:last').attr("index"); // get the last div's index
  if ($(window).scrollTop() + $(window).height() == $(document).height()) {
    $.ajax({ //create an ajax request to your .php file
      type: "POST",
      url: "yourphppage.php",
      data: 'moreposts=' + index, // add a a parameter
      dataType: "html", //expect html to be returned
      success: function(msg) {
     }
    });
  }
});

现在将您的$limit变量设置为全局变量,以便您可以在范围中编辑它的值。像这样

$limit = 6; //default limit

if (isset($_POST["moreposts"])) {
   $lastindex = (int)$_POST["moreposts"];
   $limit = $lastindex * 2 // or anything you want
}

function scrape_insta_hash($tag) {
  ...
for ($i=0; $i < $limit; $i++){
...

个人。我不建议进行网络爬虫。这是检索数据的丑陋方式。他们还可以随时更改其标记。