1

我想在固定时间间隔后重新加载 div (Recent_updates) 的内容。我使用了以下 javascript 代码

var refreshId = setInterval(function()
    {
        $('#Recent_updates').fadeOut("slow").load('Recent_updates.php').fadeIn("slow");
    }, 60000);

最近的_updates.php

<?php
include("include/connect.php");
include("library/paginator.php");
?>
<div style="text-align:right;">
    <?
    $query = "select * from settings";
    $tab = mysql_query($query);
    $row = mysql_fetch_array($tab);
    $item_no = $row['items_to_show'];
    $scroll = $row['scroll_interval'];

    $online_paginate = new Paginator;
    $online_paginate->sql = "select * from recent_updates where status='Active' and picture1!='' and selling_method!='want_it_now' and selling_method!='ads' and bid_starting_date <= now() and expire_date>=now() order by item_id desc"; // sql statement
    $online_paginate->rows_on_page = $item_no;
    $results = $online_paginate->get_page_result(); // result set
    $num_rows = $online_paginate->get_page_num_rows(); // number of records in result set
    $nav_links = $online_paginate->navigation("&nbsp; | &nbsp;"); // the navigation links (define a CSS class
    ?>
</div>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr bgcolor="#d79196" class="detail9txt">
    <input type="hidden" value="2" name="len">
    <td align="center" width="20%"><b>Picture</b> </td>
    <td width="30%" align="center"><b>Name / Responses</b> </td>
    <td width="50%" align="center"><b>Description</b> </td>
</tr><tr style="height:10px;"><td></td></tr>
<?
if ($num_rows > 0) {
    while ($bestsellers_fetch = mysql_fetch_array($results)) {
        $temp = $bestsellers_fetch['item_id'];
        $sql = "SELECT count(`user_id`) as response FROM `watch_list` where `item_id`=$temp group by `item_id`";
        $res = mysql_query($sql);

        $response = mysql_fetch_row($res);

        $counttop = $counttop + 1;
        if (!empty($bestsellers_fetch['sub_title']))
            $item_subtitle1 = $bestsellers_fetch['sub_title'];
        else
            $item_subtitle1 = substr($bestsellers_fetch['item_title'], 0, 20);
        $item_title1 = substr($bestsellers_fetch['item_title'], 0, 40)
        ?>
        <tr>
            <td class="tr_botborder" style="vertical-align:middle;" width="20%" align="center"><div align="center"><a href="detail.php?item_id=<?= $bestsellers_fetch['item_id']; ?>" class="bestsellerstxt"><img src="thumbnail/<?= $bestsellers_fetch['picture1']; ?>" alt="" width="79" height="70" border="0" /></a></div></td>
            <td class="tr_botborder" style="vertical-align:middle;" width="30%" align="center"><div align="center"><span class="bestsellerstxt"><a href="detail.php?item_id=<?= $bestsellers_fetch['item_id']; ?>" class="bestsellerstxt"><?= $item_subtitle1; ?> <?= $item_title1; ?></a><br/><?php if ($response[0] != '') { ?><a style="text-decoration:none;color:#336666;" href="detail.php?item_id=<?= $bestsellers_fetch['item_id']; ?>"> <?php echo $response[0] . '&nbsp;responses'; ?></a> <?php } else { ?><span style="color:#666666;"><?php
            echo '0&nbsp;responses';
        }
        ?></span></span></td>
            <td class="tr_botborder" style="vertical-align:middle;" width="50%" align="center"><div align="center"><span class="bestsellerstxt"><a href="#" class="bestsellerstxt"><?= html_entity_decode($bestsellers_fetch['detailed_descrip']); ?></a></span></td>
        </tr>

        <?
        if ($counttop != 2) {

        }
    }
} else {
    ?>
    <tr><td height="148" align="center" class="featxt">No Items Available</td></tr>
    <?
}
?>
</table>
<div style="text-align: right;"><?php echo $nav_links; ?></div>

此代码在除 IE 之外的所有浏览器中都能正常工作。当我在我的 ie9 上进入页面并且在几(5-8)分钟后没有做任何事情时,页面就变成了空白。

4

2 回答 2

3

我经历过这个...实际上加载失败是因为 IE 严格验证返回的 HTML。所以请确保Recent_updates.php返回有效的 html

于 2012-12-04T09:53:19.287 回答
0

我不确定 IE9,但我在旧版本的 IE 中遇到过此类问题。该浏览器有打开与服务器的持久连接的坏习惯,并且大多数服务器(如果不是全部)对每个用户的打开连接数量都有限制。知道您有 1 分钟的时间间隔并且持续连接在 5 分钟后超时,只需数一下,您就会明白为什么......

于 2012-12-04T09:54:10.820 回答