3

我正在尝试编写一个脚本,该脚本将添加到负载的概念中,并以一种可以将负载调用到多个页面的方式向外扩展,以搜索 div 的实例。

例如,考虑下面的代码:

<div class="loadStuffHere">
</div>

$('.loadStuffHere').load('/wiki.htm .posts');

所以,上面的代码工作得很好,但我不确定如何让它一次搜索多个页面。

在这种情况下,我需要搜索的第二页是:/wiki.htm?b=1&pageindex=2。脚本搜索第一页后,就需要搜索第二页。搜索到第二个页面后,脚本需要首先自动增加数字 2,并将其更改为 3,然后搜索该页面,然后继续这样做,直到它遇到一个不存在的页面,然后返回 false 并结束它的执行。所以搜索和加载过程将包括:

/wiki.htm
/wiki.htm?b=1&pageindex=2
/wiki.htm?b=1&pageindex=3
/wiki.htm?b=1&pageindex=4
/wiki.htm?b=1&pageindex=5
/wiki.htm?b=1&pageindex=6

它会在那个庄园里继续,直到它碰到一个还不存在的页面,因为这是一个分页系统。

这是可以做到的吗?如果可以,它会是什么样子?非常感谢任何帮助!

Ps 如果您认为我可能会尝试通过一些服务器端编码更容易实现的东西,那么您是对的。但是很遗憾,我无法访问它。

4

2 回答 2

1

您可以执行以下操作:

function loadWikiPosts(page_index) {
    if (page_index != null) { url += '?b=1&pageIndex='+page_index; }
    else { page_index = 1; /* for next time if this one fails */ }

    url += ' .posts'; // to grab just the posts

    // Send the AJAX request
    $('.loadStuffHere').load(url, function(response, status, request) {
        if (status == "error") { console.log(response); throw "Load returned an error"; }
        if ($('.loadStuffHere').find('.posts').length == 0) {
            page_index++;
            loadWikiPosts(page_index);
        }
    });
}

try {
    loadWikiPosts();
} catch (exception) {
    // do something w/the exception message
}
于 2013-07-12T20:31:05.963 回答
1

使用以下代码创建一个包含所有结果的数组:

JavaScript/jQuery

var linkArray=["/wiki.htm",
  "/wiki.htm?b=1&pageindex=2",
  "/wiki.htm?b=1&pageindex=3",
  "/wiki.htm?b=1&pageindex=4",
  "/wiki.htm?b=1&pageindex=5",
  "/wiki.htm?b=1&pageindex=6"];


for (var i in linkArray)
{
    var content = "";
    $('.loadStuffHere').append($(content).load(linkArray[i]+' .posts'));
}

上面的代码没有经过测试。

于 2013-07-12T20:32:31.217 回答