社区
Web 开发
帖子详情
急问:在一个带iframe的页面里,刷新主页面时,是否能做到不刷新iframe中的内容???
bisliu
2006-03-14 09:30:52
rt~~
请各位大虾多多指教!!多谢了!
...全文
554
17
打赏
收藏
急问:在一个带iframe的页面里,刷新主页面时,是否能做到不刷新iframe中的内容???
rt~~ 请各位大虾多多指教!!多谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bisliu
2006-03-15
打赏
举报
回复
不是我想要刷新整个页面,是如果客户按f5刷新整个页面。。。。
polarman
2006-03-15
打赏
举报
回复
最好不要刷新整个页面,可以用AJAX的方式,刷新部分页面
上面的解决方法,也只是读取别的网站的主页形成的客户端代码,并不能将主页上所图片等内容读出并保存,刷新后,还是要重新在入这些东西,而且还有过期的问题
bisliu
2006-03-15
打赏
举报
回复
不是iframe之间的传参数,各个iframe之间是没关系的
qingyuan18
2006-03-15
打赏
举报
回复
楼主你是指一个iFrame的jsp中算key然后传给另一个iFrame的jsp么?
bisliu
2006-03-14
打赏
举报
回复
好像有个问题啊,new File或者new FileReader的时候,用("http://www.www.ww.html");好像不行啊??
bisliu
2006-03-14
打赏
举报
回复
好,我试试先。。
victor26
2006-03-14
打赏
举报
回复
不复杂,直接用java的文件操作类就可以了,php和jsp只是语法不同而已,功能都是一样的。因为php是我手头现成的,所以举了这个例子,jsp的话,用文件操作类就可以。
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>文件</title>
</head>
<body>
<%
String path=request.getRealPath("");
//out.println(path);
File f=new File(path,"temp.html");
if(f.exists()){//检查temp.html是否存在
f.delete();//删除
}else{
f.createNewFile();//
}
//读出页面内容
FileReader fr = new FileReader("http://www.www.ww.html");
String args = fr.readAll();
//写入文件
FileWriter fw = new FileWriter(path+"temp.html");
fw.write(args);
fw.close();
%>
附:以上代码仅供参考,我很久没写这个了,可能有些类用得不对。大概就是这个意思,具体的你查查java的文件操作类好了。
bisliu
2006-03-14
打赏
举报
回复
然后写成你自己服务器目录的“path/temp.html”文件--------这一段没做过,是不是很复杂?而且我是用jsp写的,跟php的会不会很不同?请指教~~
victor26
2006-03-14
打赏
举报
回复
这样的话,这个办法是可以做到的,现在很多搜索引擎就是这么做的,读出google搜索的页面内容,然后用自己的页面显示。给你一段php的代码:
//第一次访问时从远程获得文件内容:
result=file(“http://www.google.com/search?q=abcd&btnG=Google%CB%D1%CB%F7&hl=zh-CN&lr=”);
然后写成你自己服务器目录的“path/temp.html”文件。
刷新后<iframe src="path/temp.html">,这样应该在一次会话期间便不需要再认证了。
bisliu
2006-03-14
打赏
举报
回复
我的iframe里面嵌的是其它站点的内容,就是不想重新去加载这些内容,因为需要重新认证,所以楼上的办法恐怕很难实现了,不过还是多谢了~~!
victor26
2006-03-14
打赏
举报
回复
这个好像比较困难,因为iframe的src属性是指定到别的页面的。不过或许可以有别的变通方法,比如说,在页面刷新前把iframe中子页面的文件内容读出,在你的服务器上新生成一个文件,将内容写入,刷新之后iframe连接到这个页面。当然,这个方法比较笨,不过不清楚你这么做的目的是什么,而我目前只能想到这个。
bisliu
2006-03-14
打赏
举报
回复
其实我的认证就是算出个类似key这样的东西,然后组成一个url,重定向到其它站点去,让那边根据这个key来认证。那每次刷新时都要重新算那个key,这样感觉负载太大,所以。。。
不过目前这样的做法可能是最简单最保险的了。
victor26
2006-03-14
打赏
举报
回复
赫赫,没错。所以能避免的话,最好不要使用iframe。用frame比较好一些,可是客户如果点了ie的刷新按钮,还是没有办法。
不过我不清楚你说的网站认证是什么意思,也许可以在避免认证这方面想想办法呢?只有祝你好运了……
bisliu
2006-03-14
打赏
举报
回复
首先得谢谢楼上了!
可是我试来试去,发现这样风险还是很大的,从网络读文件,而且要保证网页不过期
victor26
2006-03-14
打赏
举报
回复
不好意思,忘了去掉多余信息了。
把<%@include file="header.jsp"%>
和<%@include file="footer.jsp"%>
去掉,那是我本机调试用的……
victor26
2006-03-14
打赏
举报
回复
是的,读取网络文件有些不一样,我给你一个完整的代码吧,存成jsp就可以直接运行的。
<%@include file="header.jsp"%>
<%@ page import="java.io.*"%>
<%@ page import="java.net.*"%>
<%@ page import="java.util.Properties"%>
<%
//?程文件路径
String s1 = "http://www.google.co.jp";
//本地存放路径
String s2 = "C:\\test.html";
URL urlfile = null;
HttpURLConnection httpUrl = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
File f = new File(s2);
//make proxy
String proxy = "192.168.224.12";
String port = "8080";
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",proxy);
systemProperties.setProperty("http.proxyPort",port);
try{
//?接指定的网??源,?取网??入流
urlfile = new URL(s1);
httpUrl = (HttpURLConnection)urlfile.openConnection();
httpUrl.connect();
bis = new BufferedInputStream(httpUrl.getInputStream());
}catch(Exception e){
System.out.println(e.toString());
}
try{
bos = new BufferedOutputStream(new FileOutputStream(f));;
byte[] b = new byte[1024];
while(bis.read(b)!=-1) {
bos.write(b);
}
}catch(Exception e){
System.out.println(e.toString());
}finally{
try{
bos.flush();
bis.close();
httpUrl.disconnect();
}catch(Exception e){
System.out.println(e.toString());
}
}
%>
<center>
<form name="search" action="results.jsp" method="get">
<p>
<input name="query" size="44"/> Search Criteria
</p>
<p>
<input name="maxresults" size="4" value="100"/> Results Per Page
<input type="submit" value="Search"/>
</p>
</form>
</center>
<%@include file="footer.jsp"%>
其中
//make proxy
String proxy = "192.168.224.12";//防火墙地址
String port = "8080"; //防火墙端口
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",proxy);
systemProperties.setProperty("http.proxyPort",port);
这一段是如果你的机器设定了防火墙,需要加上,如果是直接连上网,就不用。
El_Nino
2006-03-14
打赏
举报
回复
关注中,帮忙顶顶
页面
框架+tab标签页+换肤
功能介绍: 1、可以换皮肤、其
中
住框架、具体
页面
可以统一使用皮肤。 2、tab页标题有右键菜单,新开、全屏打开,
刷新
。双击标题也可以
刷新
。 3、可以收放菜单栏。 使用方法: 基本上
主
框架
页面
不需要作任何的变动了,直接就可以用,就不讲了。 在这
里
主
要讲一下使用tabControl: tabControl新开
一个
页面
实际上是通过JS在
主
显示区域建立
一个
iframe
把这个
iframe
的src 指向我们指定的
页面
。
js
中
页面
的重新加载(当前
页面
/上级
页面
)及frame或
iframe
元素引用介绍
用JavaScript
刷新
上级
页面
和当前
页面
代码如下: [removed] //
刷新
上级
页面
//window.parent.main.[removed].reload(); //
刷新
当前
页面
[removed].reload(); [removed] 每个frame元素或者
iframe
元素就是
一个
框架,这个框架是
一个
窗口,在这个窗口
中
加载
一个
html文档.使用下面的几种方法都可以引用frame或
iframe
元素: 代码如下: window.frames[index] windows.frames[“框架名”]
HTML基础入门视频课程
本课程从零开始,以通俗易懂的方式讲解HTML技术,手把手教你掌握每
一个
知识点。课程
中
使用的所有英文单词都会逐一查询并记录,真正做到零基础入门学习,适合初学者的教程!课程
内容
包括:1.HTML简介、文档结构2.Sublime的使用3.常用标签4.超链接、表格、表单5.内嵌框架
iframe
6.HTML5简介、新特性、新增
内容
教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!
javascript
IFrame
强制
刷新
代码
经常会使用多个
iframe
来展示领域模型
主
子关系(
主
/子单),测试发现
iframe
是有cache功能的
Tab可切换皮肤的后台模板
功能介绍: 1、可以换皮肤、其
中
住框架、具体
页面
可以统一使用皮肤。 2、tab页标题有右键菜单,新开、全屏打开,
刷新
。双击标题也可以
刷新
。 3、可以收放菜单栏。 使用方法: 基本上
主
框架
页面
不需要作任何的变动了,直接就可以用,就不讲了。 在这
里
主
要讲一下使用tabControl: tabControl新开
一个
页面
实际上是通过JS在
主
显示区域建立
一个
iframe
把这个
iframe
的src 指向我们指定的
页面
。
Web 开发
81,094
社区成员
341,711
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章