我正在使用以下内容来设置我的 iFrames 内容,但是否会再次设置相同的 url 来刷新所有浏览器中的内容?还是我需要使用http://targeturl.com/targetpage?random= currenttime来防止缓存并导致重新加载?
function setIframeSource(Iframe, targetUrl){
var Elem = document.getElementById(Iframe);
Elem.src = targetUrl;
}
我正在使用以下内容来设置我的 iFrames 内容,但是否会再次设置相同的 url 来刷新所有浏览器中的内容?还是我需要使用http://targeturl.com/targetpage?random= currenttime来防止缓存并导致重新加载?
function setIframeSource(Iframe, targetUrl){
var Elem = document.getElementById(Iframe);
Elem.src = targetUrl;
}
它肯定会重新加载页面,但缓存的处理方式可能会有所不同,具体取决于浏览器/版本/服务器甚至用户设置,因此如果您想正确刷新它 - 请使用 cachebuster(时间)。
您不需要像这样在网页上强制刷新缓存,除非您知道该特定网页需要强制刷新缓存。
如果您需要将缓存刷新查询字符串附加到 中的每个网页iframe
,那么这对于访问浏览器中的任何网页都是正确的,显然情况并非如此。
我相信如果 URL 相同或只有片段标识符(# 部分)发生更改,它不应该刷新 iFrame,但您可能需要在一些浏览器上进行测试(尤其是 IE,它似乎从不遵循规范)
如果你用 Javascript 设置 URL,为什么不调用 iframe 的 reload() 方法呢?从本质上讲,该 iframe 是一个窗口,并且包含与普通窗口对象相同的方法。