iframe重新加载并提供双重内容

时间:2020-10-03 19:33:51

标签: javascript

我通过功能更改了HTML5 iframe代码的内容, 然而;该功能会重新加载整个页面,这是一个问题,因为我不打算这样做。在iframe标记中重新加载页面就是复制内容。这是由于我在iframe广告代码中使用了onload事件触发器。是否可以通过doc.write => document阻止函数中的重新加载?

非常感谢

iframe.onload = function() { 

function_insert_txt_iframe ...

}
window.addEventListener("DOMContentLoaded", function(event) { 

function_insert_txt_window ...

}

2 个答案:

答案 0 :(得分:1)

您可以使用名为isLoaded的变量并将其实例化为false。如果该值为true,则无需重新加载页面:

var isLoaded = true;

iframe.onload = function() { 

    if(!isLoaded) function_insert_txt_iframe ...

}
window.addEventListener("DOMContentLoaded", function(event) { 

    if(!isLoaded)  function_insert_txt_window ...

}

答案 1 :(得分:0)

Document.readyState似乎可以满足您的要求:

document.addEventListener('readystatechange', event => {
  if (event.target.readyState === 'interactive') {
    function_insert_txt_iframe();
  }
  else if (event.target.readyState === 'complete') {
    function_insert_txt_window();
  }
});

查看此处:https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState