在使用iframe会发现,有时iframe的数据不会刷新,这是因为浏览器对iframe做了缓存,更改了请求后,他还是发送的原来的请求,这个问题可以通过三个途径解决
-
response设置no-cache
-
清理浏览器缓存
-
销毁iframe重新创建
我使用第三种方法解决了iframe数据无法刷新的问题
var widgetIFrame = $('#widgetIFrame');
var widgetIFrameParent = widgetIFrame.parent();
widgetIFrame.remove();
widgetIFrameParent.append("<iframe id=\"widgetIFrame\" style=\"width: 100%;height: 600px\" src=\"\"></iframe>");
var widgetIFrameNew = $('#widgetIFrame');
widgetIFrameNew.attr('src',encodeURI('http://localhost:8086/widgetModel.html'+url+"?"+param));
widgetIFrameNew.css('width',"100%");
在使用iframe会发现,有时iframe的数据不会刷新,这是因为浏览器对iframe做了缓存,更改了请求后,他还是发送的原来的请求,这个问题可以通过三个途径解决response设置no-cache清理浏览器缓存销毁iframe重新创建我使用第三种方法解决了iframe数据无法刷新的问题var widgetIFrame = $('#widgetIFrame'...
最近遇到个比较古怪的
问题
:当页面嵌套多个
Iframe
时会出现
Iframe
里包含的页面无法看到最新的页面信息。
初步解决方案,在
Iframe
指向的页面地址后缀添加一个随机数或者时间戳。这样能确保每次在加载页面时,让浏览器知道它是最新的页面。说白了就是欺骗下浏览器,躲过
缓存
的灾难。(这是从Stack Overflow 和 CSDN 上找到一个看似可行,能彻底治根的办法。 )
$("#h5Content").attr("src","${h5.url}");
h5.url对应的是一个ueditor编辑好存到数据库的一个页面.
修改这个页面内容提交后,
iframe
中呈现的页面并没有变化.
iframe
的src的值发生改变,才会
刷新
iframe
里面的内容.
所以虽然我代码的url对应的页面有变化了,可是url一直不变,也就是
iframe
的src的值一直没变.所以不
刷新
内容;
原因找到了,解决就非常容易了.想任何一种办法让
iframe
的src的值有
解决方法:
在url的后面,添加一个会不停
更新
的值,比如我添加了一个属性t,t取当前时刻的毫秒值
content: 'area-fault-edit.html?t='+Date.now(),
iframe
的src的值发生改变,才会
刷新
iframe
里面的内容.
<
iframe
:src="baseUrl" height="100%" frameborder="0" scrolling="auto" width="100%"></
iframe
>
this.baseUrl = this.baseUrl + `&time=${new Date().getTime()`
给url后面通过问号传值,传一个当前时间, 这个值并没有其他用处,只是为了改变src的值.
为了在
Java
中
处理
Redis
缓存
问题
,您需要使用Redis
Java
客户端库。常用的
Java
Redis客户端有Jedis、Lettuce和Redisson。
Jedis是一个纯
Java
实现的Redis客户端,使用简单,支持同步和异步两种操作方式。
Lettuce是一个高性能的Redis客户端,支持同步、异步和响应式操作。
Redisson是一个基于Netty的Redis客户端,支持分布式和可扩展的特性。
以下是使用Jedis的一个简单示例:
import redis.clients.jedis.Jedis;
public class JedisExample {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost");
jedis.set("foo", "bar");
String value = jedis.get("foo");
System.out.println(value);
通过以上示例,您可以很容易地对Redis
缓存
进行读写操作。