解决iframe改变src会增加history历史记录问题

1,780 阅读1分钟

浏览器的history是不支持删除的,因为MDN上都没有给删除的方法

所以在页面里嵌套了多个iframe的时候,切换,就会增加history记录,使用了history.replaceState()不行,window.location.replace()也不行

后来看了资料说是iframe重复加载的问题,具体原因是iframe的DOM复用,解决他只重新创建iframe就可以了

//这次用的JQ写的
$(''iframe).remove('#content-preview');
var iframeElement = $("<iframe src='' class='content-preview' id='content-preview'></iframe>");
$('.content_box').append(iframeElement);
$(iframeElement).attr('scr', res.data);

这里也遇到history.length的一个问题

先入为主认为length就是当前条目数,结果是预览的页面数量,如果要判断是不是初始页不能用length == 1来判断;

//可以这样判断
document.referrer === ""

菜鸡一个,有不对的请指出,谢谢!!