【问题标题】:Reload Browser Based on innerHTML Contents根据 innerHTML 内容重新加载浏览器
【发布时间】:2013-03-21 12:01:49
【问题描述】:

我使用 AJAX 每 5 秒将 PHP 文件中的内容加载到 div 中。这工作正常,但如果 div 的内容等于“您的项目已过期”,我想刷新浏览器。

这是我的 HTML:

<div id="tableHolder"></div>

这是我的 JS:

 $(document).ready(function(){
  refreshTable();
});

function refreshTable(){
    $('#tableHolder').load('ajax_time.php', function(){
       setTimeout(refreshTable, 5000);
    });
}

我想我可以使用类似的东西:

if (document.getElementById('tableHolder').innerHTML == "Your item has expired.")

但我不确定如何将它们组合在一起。有什么想法吗?

【问题讨论】:

    标签: jquery ajax jquery-mobile innerhtml


    【解决方案1】:

    你可以这样做

    $('document').ready(function(){
        refreshTable();
    });
    
    
    function refreshTable(){
           if($("#tableHolder").text() == "Your item has expired."){
             location.reload();
           } 
       $('#tableHolder').load('ajax_time.php', function(){
          setTimeout(refreshTable, 5000);
       });
    }
    

    【讨论】:

    • 谢谢!这会刷新浏览器吗?
    • 这将在 tableholder 包含该特定字符串时调用您的 refreshTable 函数..然后执行 ajax 调用..
    • 在你的函数中为什么你有这个setTimeout(refreshTable, 5000);
    • 我认为@Brandon 希望在显示“您的商品已过期”时刷新整个页面。在这种情况下,location.reload(true)(而不是调用 refreshTable)应该可以解决问题。
    • 你们俩都很棒!谢谢!
    猜你喜欢
    • 2020-07-31
    • 2015-04-14
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 2013-12-03
    • 2013-07-28
    • 2012-11-04
    • 2023-04-09
    相关资源
    最近更新 更多