修改iframe.src而不输入历史记录对象
发布时间:2020-12-14 18:51:05 所属栏目:资源 来源:网络整理
导读:我的网页上有一个iframe.我通过 javascript修改src属性,如下所示: document.getElementById('myiframe').src = 'http://vimeo.com/videoid1';document.getElementById('myiframe').src = 'http://vimeo.com/videoid2';document.getElementById('myiframe').
我的网页上有一个iframe.我通过
javascript修改src属性,如下所示:
document.getElementById('myiframe').src = 'http://vimeo.com/videoid1'; document.getElementById('myiframe').src = 'http://vimeo.com/videoid2'; document.getElementById('myiframe').src = 'http://vimeo.com/videoid3'; 但是,每次我这样做,它都会记录在浏览器的历史记录中.因此,每次我在浏览器窗口中按下时,iframe内容都会从videoid3转到videoid2到videoid1.如果我再次按回,整个页面都会返回. 我想用javascript修改iframe src而不在浏览器的历史记录中记录一个条目.因此,如果我单击浏览器后退按钮,整个页面将返回而不更新iframe. 我尝试过这样的事情: document.getElementById('myiframe').contentWindow.location.replace('http://vimeo.com/videoid1'); document.getElementById('myiframe').contentWindow.location.replace('http://vimeo.com/videoid2'); document.getElementById('myiframe').contentWindow.location.replace('http://vimeo.com/videoid3'); 虽然这使得浏览器后退按钮按照我想要的方式运行,但它打破了vimeo视频中的某些内容. Vimeo要求您通过iframe.src而不是contentWindow.location.replace()更改URL. 因此,如何在不登录历史记录的情况下修改iframe.src? 有关 解决方法
不要更改src,只需用新的iframe替换旧的iframe?
<!doctype html> <style> iframe { width: 300px; height:300px; } </style> <script> var urls = ["http://bing.com","http://google.com","http://duckduckgo.com"]; function next() { if(urls.length==0) return; var original = document.getElementsByTagName("iframe")[0]; var newFrame = document.createElement("iframe"); newFrame.src = urls.pop(); var parent = original.parentNode; parent.replaceChild(newFrame,original); } </script> <p>let's test some iframes</p> <button onclick="next()">next</button> <iframe /> 没有历史陈述.功能相同.每个人都赢了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |