【问题标题】:Refresh browser when div contents changeddiv 内容更改时刷新浏览器
【发布时间】:2020-09-10 06:49:25
【问题描述】:

<div> 中我嵌入了<img>,有时我会遇到新img 出现时浏览器没有重新加载的问题。所以我在特定的时间间隔内刷新浏览器。但是,当<div> 内容更改时,如何强制浏览器自动刷新?我使用 Internet Explorer,不想使用 Ajax 或 Jquery。如果我们仅在 Javascript 或 Html 中找到解决方案,那就太好了。

<body onload="JavaScript:AutoRefresh(5000);">

然后在&lt;script&gt;部分我设置为window.location.reload(1)

因为这个解决方案对用户不友好。

希望您能找到更好的解决方案。

【问题讨论】:

  • 你能详细说明你的问题吗?当你嵌入什么?一个img?那么新的形象又该如何出现呢?您的意思是在服务器上添加新图像时,它应该自动显示在页面上?
  • 我嵌入了一个 ,当变量设置为 0 时,它在 10 分钟后发生了变化。
  • 为什么会改变?哪个变量?
  • 也许你可以只更新图片,而不是整个页面?

标签: javascript html jquery


【解决方案1】:

试试换头像?

<img src="./img.src" onchange="javascript:window.location.reload();"

【讨论】:

    【解决方案2】:

    看起来这意味着您正在更改网络服务器上的图像,并希望浏览器自动重新加载。但问题是浏览器不知道图像何时发生变化,除非您重新加载。

    您可以使用 http 请求来轮询服务器。

    不清楚图片的更新方式,但我会这样做:

    • 只要图像发生更改,请将哈希或上次更新时间戳放在我服务器上的 URL 下
    • 使用XMLHttpRequest(例如:https://stackoverflow.com/a/4033310/)每隔 x 秒或分钟从服务器轮询哈希/时间戳
    • 将接收到的数据与最后一个已知值进行比较
    • 如果页面不同,请重新加载页面

    这样页面只会在图像发生变化时重新加载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-06
      • 1970-01-01
      • 2020-05-07
      • 2020-11-16
      相关资源
      最近更新 更多