以 5 毫秒间隔重新加载后移至 iframe 底部

问题描述 投票:0回答:1
   window.setInterval("reloadIFrame();",500);
    function reloadIFrame() {            
        document.getElementById("myIframe").src="/chatbox/";
        //scrollTop = document.getElementById("myIframe").contentWindow.document.body.scrollTop;
        document.getElementById('myIframe').contentWindow.scrollTo(1000000,1000000);
        
        }

ScrollTo 功能不起作用,并且不会滚动到底部 我也尝试搜索其他问题,但没有一个起作用。请给我一个简单的 javascript 解决方案,无需任何 Jquery 或 React。

javascript scroll
1个回答
0
投票

如果 iFrame 的内容与 iframe 所在页面的来源不同,则不会。在控制台中查找访问错误。

如果是同源,则将滚动添加到iframe加载事件中

类似这样的事情

window.addEventListener('DOMContentLoaded',() => {
  const iFrame = document.getElementById("myIframe");
  iFrame.addEventListener('DOMContentLoaded,function() {
    this.document.scrollTo(1000000, 1000000);
  })
  const reloadIFrame = () => iFrame.src = "/chatbox/";
  window.setInterval(reloadIFrame, 500);
});

您可能需要向 /chatbox/ url 添加缓存破坏器

© www.soinside.com 2019 - 2024. All rights reserved.