【发布时间】:2013-01-22 03:22:49
【问题描述】:
我的网页中有一个 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
【问题讨论】:
-
stackoverflow.com/questions/821359/… 的可能重复我认为这个答案将解决您的问题stackoverflow.com/a/8681618/2009041