修改iframe.src而不输入历史记录对象

修改iframe.src而不输入历史记录对象,第1张

概述我的网页上有一个iframe.我通过 javascript修改src属性,如下所示: document.getElementById('myiframe').src = 'http://vimeo.com/videoid1';document.getElementById('myiframe').src = 'http://vimeo.com/videoid2';document.getEle 我的网页上有一个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?

有关
这实际上是我正在探索解决主要问题的解决方案之一,我在这里发布了History object back button with iframes

解决方法 不要更改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 />

没有历史陈述.功能相同.每个人都赢了.

总结

以上是内存溢出为你收集整理的修改iframe.src而不输入历史记录对象全部内容,希望文章能够帮你解决修改iframe.src而不输入历史记录对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1141336.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存