首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在firefox上iframe src缓存问题

在Firefox(以及其他浏览器)中,iframe的src属性可能会被浏览器缓存,这意味着如果你试图通过更改src属性来加载新的内容,可能不会看到任何变化,因为浏览器可能仍然显示缓存的内容。

有几种方法可以解决这个问题:

  1. 添加一个唯一的查询参数:你可以在URL的末尾添加一个唯一的查询参数(例如,当前的时间戳),这将使每个请求都是唯一的,从而避免浏览器缓存。
代码语言:javascript
复制
document.getElementById('myIframe').src = "http://example.com/page.html?nocache=" + new Date().getTime();
  1. 使用location.reload()方法:如果你有对iframe的引用,你可以使用location.reload()方法强制浏览器重新加载iframe的内容。
代码语言:javascript
复制
document.getElementById('myIframe').contentWindow.location.reload(true);
  1. 设置HTTP头:如果你有对服务器的控制,你可以设置HTTP头来禁止浏览器缓存特定的页面。例如,你可以设置Cache-Control头为no-cache, no-store, must-revalidate

请注意,这些方法可能不适用于所有情况,你可能需要根据你的具体需求进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用WebRTCFirefox实现YouTube直播

本文来自Meetecho的联合创始人Lorenzo Miniero,他分享了如何通过Firefox和WebRTC进行YouTube直播。...我需要完成哪些工作,才能让Firefox通过WebRTC发送内容,并能观看到它推送到YouTube的直播呢?也许用一些HTML5 canvas的东西可以增加一些趣味。...听起来有很多步骤,但实际它们很容易设置和完成。短短几分钟内,我有了一些基本代码来允许我捕捉到我的网络摄像头,并为其添加一些叠加:右上角加上一个logo,底部加上一个半透明条,还有一些文字的叠加。...有几种不同的软件可以帮助解决这个问题,但我选择了简单的方式,使用FFmpeg来完成工作:事实,我并不需要任何剪辑或发布功能(这些我已经实现了),但只有一些东西可以转化为正确的协议和编解码器,这是FFmpeg...令人欣喜的是,我让它开始工作了,但它并不总是完美的工作,某些地方总有一些问题,但是对于一个demo来说,它已经运行的很好了。 就是这样,真的,不需要其他“魔法”。

1.9K30

【前端编程】加载第三方JS的各种姿势

此方法需要增加一次页面请求,而且因为是iframe内部执行了,第三方JS文件本身也需要修改,故并不是很适用 先缓存再执行 – 利用JS文件的强缓存,先使用new Image().src = 'http...然后真正需要解析执行JS的时候下载(有缓存,不必再次下载)和执行JS文件。此方法不仅仅适用于JS文件,同样也可以用于CSS文件。...但此方法需要强缓存的配合,第三方JS为了版本发布时更早的更新JS代码一般都不会设置缓存,甚至有些第三方JS的代码是服务器端动态生成的。所以也不是适用于第三方JS。...如何解决这个问题呢? 你可能已经发现上面的例子有个问题:HTML代码中g.js的位置test.js之后却先下载了。..._l();">'); doc.close(); })('test.js'); 上述代码分为两个部分: 创建了一个隐藏的iframe标签,设置其src值为JS代码,然后插入到主页面中 iframe

4.2K90
  • 加载第三方JS的各种姿势

    此方法需要增加一次页面请求,而且因为是iframe内部执行了,第三方JS文件本身也需要修改,故并不是很适用 先缓存再执行 – 利用JS文件的强缓存,先使用new Image().src = 'http...然后真正需要解析执行JS的时候下载(有缓存,不必再次下载)和执行JS文件。此方法不仅仅适用于JS文件,同样也可以用于CSS文件。...但此方法需要强缓存的配合,第三方JS为了版本发布时更早的更新JS代码一般都不会设置缓存,甚至有些第三方JS的代码是服务器端动态生成的。所以也不是适用于第三方JS。...如何解决这个问题呢? 你可能已经发现上面的例子有个问题:HTML代码中g.js的位置test.js之后却先下载了。..._l();">'); doc.close(); })('test.js'); 上述代码分为两个部分: 创建了一个隐藏的iframe标签,设置其src值为JS代码,然后插入到主页面中 iframe

    6.2K10

    HTML 中包含资源的新思路

    只要我一直工作 Web ,就需要一种简单的 HTML 驱动方式,将另一个文件的内容直接包含在页面中。...内容加载不会阻止页面渲染,这是 iframe 的性质。 它是缓存友好的。与服务器端嵌入不同,此模式允许我们包含外部文件,同时允许自然缓存文件以供日后重用。...(使用服务器端包含的内容,客户端缓存是可能的,但难以做到)。 无论 JavaScript 是否运行,它都会显示内容,因为这就是 iframe 的设计目标。...它适用于各种浏览器:到目前为止,我的简短测试中,它适用于 Chrome,Firefox,Safari 和 Edge。...).children[0]);this.remove()"> 可能存在的问题 iframe web 很常用,但是页面中过度使用 iframe 可能会导致性能或内存消耗问题

    3.1K30

    资源文件的动态加载

    缺点是BASE64在一定程度上会增大文件大小(即使用了GZip压缩);浏览器也要重新解码显示,会带来一定的性能问题;最重要的是,无法被缓存,每次请求HTML/CSS都会加载一遍。...Script in Iframe 通过 iframe 加载 js。 Script DOM Element 使用 JavaScript 动态创建 script DOM 元素并设置其 src 属性。...从上面可以看到,Script DOM Element这种方式 Firefox/Opera 下的表现近乎完美,事实,在这些浏览器下,Script DOM Element 也是 LABjs 默认使用的方式...根据 LABjs 作者博客的文章, IE/Safari/Chrome 这三个浏览器下,如果一个 script 元素的 type 属性为一个类似 “text/cache” 这样的浏览器不认识的值,浏览器仍然会正常下载这些...于是,通过这样的方式可以先将 script 加载到浏览器缓存中,等对应的 js 需要被执行时,再创建一个新的 script 元素,设置其 type 为正确的值,src 为刚才“预下载”的脚本的值,将其插入页面

    2.3K90

    记一次被中间人攻击的经历

    正好当时刚在淘宝搜索过扫地机,对这种针对性广告也习以为常了,只是觉得这个弹窗有点大得诡异,不过当时正弄网站弄得头脑兴奋,于是也没在意。...由于技术水平限制,我还一时不知道是什么问题。莫非是被中毒了?...重启电脑之后以为肯定没问题,结果一上网就发现了那个可恶的弹窗。...于是先在浏览器F12查看请求的详情,发现有几条奇怪的GET: GET http://122.114.61.38/adjs/ad.js?...经过查找类似病例,发现很有可能是被js缓存投毒了,其基本原理是利用一些网站的个别缓存js很久不更新且缓存时间很长的事实,对其进行污染修改。致受害者浏览网站的时候与执行攻击者插入的内容。

    53740

    如何知道iframe文件下载download完成

    如何知道iframe文件下载download完成 author: @TiffanysBear 问题 当使用iframe作为文件下载的载体时,如何知道文件已经下载完毕。...现有的iframe的onLoad方法具有兼容性问题chrome、IE下无法监听onLoad事件监听文件下载完毕,因为onLoad事件本身也是对iframe中的html结构的加载进度监听。...var url = 'http://www.example.com/file.zip'; var iframe = document.createElement('iframe'); iframe.src...Content-disposition其实可以控制用户请求所得的内容存为一个文件的时候提供一个默认的文件名,文件直接在浏览器显示或者访问时弹出文件下载对话框。...里面好好的没问题IE下面就是不行 解决思路一:利用cookie 后端将文件下载进度放在cookie中,通过轮询cookie的方式,对文件下载进度进行获取,判断文件是否已经下载完毕。

    8.6K40

    JS异步加载的三种方式

    原理基本都是向DOM中写入script或者通过eval函数执行JS代码,你可以把它放在匿名函数中执行,也可以onload中执行,也可以通过XHR注入实现,也可以创建一个iframe元素,然后iframe...三:延迟加载 有些JS代码某些情况需要使用,并不是页面初始化的时候就要用到。延迟加载就是为了解决这个问题。...异步加载只是解决了下载的问题,但是代码在下载完成后就会立即执行,执行过程中浏览器处于阻塞状态,响应不了任何需求。...解决思路:为了解决JS延迟加载的问题,可以利用异步加载缓存起来,但不立即执行,需要的时候执行。如何进行缓存呢?...将JS内容作为Image或者Object对象加载缓存起来,所以不会立即执行,然后第一次需要的时候执行。

    3.1K20

    鹅厂原创 | 前端持久化 -- evercookie

    ; 5) globalStorage 同localStorage类似,同样是永久存储本地,目前只有 Firefox48 以上才支持; 6) openDatabase HTML5的WebSQL数据库,可以理解为本地存储...从一个src跳转到另一个src 获取contentWindow.name 不会发生变化; evercookie主要是利用了上面的一点,只要页面不刷新,页面随便清理都不会发生变化(奇特的是放在iframe...里面清缓存就可以清掉 TT)。...window.name经常用于跨域通信,顺便说下window.name跨域通信原理: iframe src 从 A.html跳转到 B.html 的时候 window.name 是不变的, 所以如果一个域的页面想跨域获取数据可以设置一个...iframe 先将src指向想要获取数据的域页面(此页面将想要传递的数据放在window.name中, ps:此时由于跨域无法获取iframe的contentWindow),之后src指向自己域名下的一个页面

    1K20

    PAUSE指令Skylake引起的性能问题

    看起来并不能解释上述的问题。 3,pause cycles google了一下,有人提到skylake,pause指令的执行的cycles变多了。...执行的结果是120,E5-2630 v4执行的结果是9。...一个很犀利的同事给出了这个问题的暂时解决办法:5118pause指令的性能大约下降了14倍,所以“GOMP_SPINCOUNT”的值就是30000000000的14分之1,大约2000000000。...启动前执行#export GOMP_SPINCOUNT=2000000000,问题缓解。 5,glibc glibc2.23, ? glibc2.27, ?...不同版本的glibc使用pthread_spin_lock函数,会出现不同的热点。 后记: 其他的问题skylake如果性能突然变得不好,热点抓到是pause指令,很可能就是这个原因导致。

    2.1K40
    领券