定期间隔后重新加载div的内容

时间:2012-12-04 09:48:03

标签: php javascript jquery internet-explorer-9

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

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

Recent_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)分钟后没有做任何事情时,页面就会变成空白。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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