根据 innerHTML 内容重新加载浏览器

Posted

技术标签:

【中文标题】根据 innerHTML 内容重新加载浏览器【英文标题】:Reload Browser Based on innerHTML Contents 【发布时间】: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.")

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

【问题讨论】:

【参考方案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)应该可以解决问题。 你们俩都很棒!谢谢!

以上是关于根据 innerHTML 内容重新加载浏览器的主要内容,如果未能解决你的问题,请参考以下文章

jQuery怎么加载一个html页面到我指定的div里面

innerHTML 导致 IE 6(永久)锁定

卡片内容切换每次图片重新加载

Blazor-断开连接后重新加载浏览器

防止浏览器在重新加载父级时保留 iframe url

使用 innerHTML 重新加载页面的中心窗格