comet推送利用iframe和htmlfile的实现
最近做一个小功能需要实时在页面显示后台接收到的数据,用到comet技术,研究了一下发现有多种方式,有DWR的推送,还有基于 Iframe 及 htmlfile 的流(streaming)方式,DWR 需要引jar包,还要配置很多地方,本身功能比较简单就不那么麻烦的处理了。
下面说说第二种方式吧,https://www.360docs.net/doc/dd3200289.html,/articles/comet_and_php/start网上有一个基于php的例子,整理了一下用java实现,使用的是springMvc,以下是实现代码:
Div 部分刷新 利用iframe刷新div 利用AJAX刷新部分div
Div 部分刷新 利用iframe刷新div 利用AJAX刷新部分div 一般的WEB页面,当用户访问时,会按需请求一个新页面,而这个新页面很大一部分的内容其实跟原页面是相同的,无非是某一行内容,或者某一小块内容要被刷新,这时候如果把整个页面再重新请求一遍,就很不划算,这时候我们可以使用一种部分刷新方法,就是使用HTML的iframe 标签。 iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。这个标签的可用属性如下: 其中我们需要注意的是一个src 属性,它指定了在这个iframe块中你要用于显示的原代码。 例如: 好,下面我们就可以用JAVASCRIPT改变iframe块的内容,来实现页面的部分刷新了,示例代码如下:
1 <%@ Page Language="C#" AutoEventWireup="true" %> 2 //... 3 4
5js调用父窗口函数-iframe父窗口和子窗口相互的调用方法
js调用父窗口函数-iframe父窗口和子窗口相互的调用方法iframe父窗口和子窗口相互的调用方法解决方案[详细][全]来源:互联网收集分享:QQ1663551688 iframe父窗口和子窗口相互的调用方法集锦一、父窗口调用iframe子窗口方法 1、HTML语法:
iframe的详细用法
iframe的详细用法 IFRAME 元素| iframe 对象 -------------------------------------------------------------------------------- 创建内嵌浮动框架。 成员表 下面的表格列出了iframe 对象引出的成员。请单击左侧的标签来选择你想要查看的成员类型。 标签属性/属性 SHOW: 标签属性/属性 行为 集合 事件 滤镜 方法 对象 样式 标签属性属性描述 ALIGN align 设置或获取表格排列。 ALLOWTRANSPARENCY allowTransparency 设置或获取对象是否可为透明。APPLICATION APPLICATION 表明对象的内容是否为HTML 应用程序(HTA),以便免除浏览器安全模式。 ATOMICSELECTION 指定元素及其内容是否可以一不可见单位统一选择。 BEGIN begin 设置或获取时间线在该元素上播放前的延迟时间。 BORDER border 设置或获取框架间的空间,包括3D 边框。 canHaveChildren 获取表明对象是否可以包含子对象的值。 canHaveHTML 获取表明对象是否可以包含丰富的HTML 标签的值。 CLASS className 设置或获取对象的类。 contentWindow 获取指定的frame 或iframe 的window 对象。 DATAFLD dataFld 设置或获取由dataSrc 属性指定的绑定到指定对象的给定数据源的字段。 DATASRC dataSrc 设置或获取用于数据绑定的数据源。 disabled 获取表明用户是否可与该对象交互的值。 END end 设置或获取表明元素结束时间的值,或者元素设置为重复的简单持续终止时间。firstChild 获取对象的childNodes 集合的第一个子对象的引用。
java web 学习笔记,超详细好用
一、文件上传入门 1. 应用: 用户上传头像、上传图片、邮件上传附件等 2. 页面表单的实现 文件上传表单和普通表单有两个区别 1) 表单的提交方式必须是 post 2) 需要文件上传字段 3) form 表单的 enctype 属性需要指定为 multipart/form-data 3. 服务器端解析request 在 Servlet 中通过 request.getInputStream 获得表单上传数据,会发现数据是分段发送的由于自己写程序解析有难度,我们可以使用Apache 开发的开源组件Commons-fileupload 需要导入 jar 包Commons-fileupload 和Commons-io 4 . UploadServlet 中处理文件上传程序
二、文件上传处理细节 1. 中文乱码问题 1) 文件名中文乱码问题,解决办法:告诉文件上传组件以什么编码方式来解码文件名 ServletUpload.setCharacterEncoding(“utf-8”); request. setCharacterEncoding(“utf-8”); 2) 普通字段中文乱码问题 fileitem.getString(“utf-8”); 2. 临时文件 3. 文件存放目录 1) 目录需要隐藏,禁止外界直接访问 2) 文件名需要保证不重复 3) 文件应该分目录存放
三、上传进度条 1. 实现进度监听 需要实现对文件上传进度的监听,需要给FileUpload 对象添加 ProgressListener 2. 在jsp 页面显示进度 实验: 1) 使用 iframe 发送请求,请求一个Servlet, 在Servlet 中返回响应,发送自增的num 此时会发现 iframe 会不停第想Servlet发送请求 2) 点击文件上传按钮后,iframe立刻停止刷新,直至上传完毕页面跳转至新页面 3)为了观察实验结果,将form 的 target 指定为 iframe, UploadServlet回送上传完毕的结果 4) 出现上述问题的原因,浏览器不支持多线程同时访问服务器只能同时发送一个请求, 这样的访问方式为同步访问 5) 要在文件上传的同时在iframe中实现进度访问,就需要ie浏览器与服务器进行异步交互 此时就需要 XMLHttpRequest 对象 在javascript中可以直接使用XMLHttpRequest 对象与服务器进行异步通信 获得XmlHttpRequest 对象的方式有两种 ie7以上版本 var xhr = null; if(window.XMLHttpRequest) xhr = new XMLHttpRequest(); ie7以下版本 if(window.ActiveXObject) xhr = new ActiveXObject(“Microsoft.XMLHTTP”); 获得对象后需要调用open方法输入请求地址 注意请求方式,地址的输入,并且需要设置为true 指定异步访问该地址 xhr.open(“get”,”/upload/servlet/UploadServlet”, false) // 调用send 方法发送请求,post方式需要发送消息体,get方式则不用直接传入null值 xhr.send(null); // 访问 responseText 属性获得 Servlet 回送的数据 document.write(xhr.responseText);
js操作frame详细解说,window.opener和window.parent的区别
frame框架里的页面要改其他同框架下的页面或父框架的页面就用parent window.opener引用的是window.open打开的页面的父页面。 window.frames对象可以引用iframe里的页面,也可以引用frameset里的页面。可以这样window.frames["iframe"].window.save(); window.frames[0].document.getElementByIdx_x('xx'); 可以这样 window.frames[0].document.body.innerHTML; frm = window.parent.window.frames['uploadFrame']; frmDocument = frm.document; frm.sb(3); //sb 是uploadFrame页面里的一个函数 对于firefox 如果你遇到报错:parent.document.frames has no properties 换为如下代码就可以了,这个代码IE,ff兼容. frm = window.parent.window.frames['uploadFrame'];其实frames 集合并不是挂在document 而是挂在window 对象下. 注意这样修改frame里的页面有限制,就是必须是同域下的,否则无法访问 如果是同一域下,但是子域名不同,那么涉及到的js,html文件都加上一句。document.domain = https://www.360docs.net/doc/dd3200289.html, [这里填写你的域名] document.getElementByIdx_x('iframeid').contentWindow.document.getElementByIdx_x('someel ementid'); window.opener 实际上就是通过window.open打开的窗体的父窗体。 比如在父窗体parentForm里面通过window.open("subForm.html"),那么在subform.html中window.opener 就代表parentForm,可以通过这种方式设置父窗体的值或者调用js方法。 如:1,window.opener.test(); ---调用父窗体中的test()方法 2,如果window.opener存在,设置parentForm中stockBox的值。
Iframe用法的详细讲解
Iframe用法的详细讲解 今天我们来学习Iframe 用法的详细讲解,快来一起学习吧。下面就和大家分享,来欣赏一下吧。 Iframe 用法的详细讲解 Iframe用法的详细讲解 把iframe解释成“浏览器中的浏览器“很是恰当 设定围绕图文框的边缘宽度 FRAMEBODER 设置边框是不否为3维(0=否,1=是) HEIGHT,WIDTH 设质边框的宽度和高度 SCROLLING 是否有滚动条(YES,NO,AUTO) SRC 指定IFRAME调用的文件或图片(HTML,HTM,GIF,JPEG,JPG,PNG,TXT IFRAME 元素| iframe 对象 创建内嵌浮动框架。 成员表 下面的表格列出了iframe 对象引出的成员。请单击左侧的标签来选择你想要查看的成员类型。 标签属性/属性
SHOW: 标签属性/属性 行为 集合 事件 滤镜 方法 对象 样式 标签属性属性描述 ALIGN align 设置或获取表格排列。 ALLOWTRANSPARENCY allowTransparency 设置或获取对象是否可为透明。 APPLICATION APPLICATION 表明对象的内容是否为HTML 应用程序(HTA),以便免除浏览器安全模式。 ATOMICSELECTION 指定元素及其内容是否可以一不可见单位统一选择。 BEGIN begin 设置或获取时间线在该元素上播放前的延迟时间。 BORDER border 设置或获取框架间的空间,包括3D 边框。 canHaveChildren 获取表明对象是否可以包含子对象的值。 canHaveHTML 获取表明对象是否可以包含丰富的HTML 标签的值。
CAS利用Iframe框架跨域Ajax登录
CAS利用Iframe框架跨域Ajax登录 因最近经常有时候被一些朋友问到关于CAS跨全域下的Ajax 登录方式实现,正好之前也分析Sina微博的SSO实现,文中也说了SINA 的SSO 实际上(或机制)直接使用了CAS 这个开源项目。于是本文中要说的CAS AJAX登录方式便参考了SINA 的AJAX登录实现。关于具体方案,CAS官方上好象没有提供相关说明,倒是有一文说到Without the Login Screen(详情参见CAS 之自定义登录页实践),其具体实现方式甚是麻烦,又是改源码,又是通过JS跳转,又是一堆配置。当然,虽然如此,但该文中所提到的获取login tikcet 的方式还是值的参考的,因为无论什么方式登录,前提是必须获取到该ticket才允许登录验证。 虽然这里所说的主要是针对CAS,其实具体的实现方式中有些还是值得参考的,如跨域设置cookie, jsonp + iframe 跨域异步请求、P3P 及关于spring webflow 等其它相关的一些信息。 思路 关于具体的实现思路基本上都是参考了SINA,所以详细信息可以在分析Sina微博的SSO实现看到或自己去firebug 一下sina micro-blog。 实践 Environment: cas-server-3.4.2.1 https://www.360docs.net/doc/dd3200289.html,:8080/cas/ cas-client-3.1.10 https://www.360docs.net/doc/dd3200289.html,:8080/login 以上域名是方便测试跨域,故修改本机hosts。
由于原本的CAS 登录方式是通过跳转、重定向的方式实现,所以需要对CAS的Server端进行调整,使其同时支持Ajax 方式登录。
使用框架布局页面
单元4——使用框架布局页面 学习目标: 理解框架布局的原理 掌握使用框架进行页面布局的方法 学习利用浮动框架嵌入插件 Dreamweaver CS3提供了一种很方便的可以进行网页布局的工具——框架。框架主要是用来把浏览器窗口划分为若干个区域,每个区域可以分别显示不同的网页。访问者浏览站点时,可以使某个区域的文档永远不更改,但可通过导航条的链接更改主要框架的内容。框架结构常被用在具有多个分类导航或多项复杂功能的Web页面上。 任务4.1 框架基本操作 在网页中,一个网页可以包含多个页面,此时需要用到框架。使用框架可以进行页面布局,把网页化分为几个区域。例如,一个水平框架用于放置Banner(也就是标题);左垂直框架用于放置导航;右垂直框架用于放置正文。每一个框架单独使用一个网页,从而使页面设计简单化。框架除了用于页面布局,还可用于制作目录。包含框架的网页称为框架集。框架集定义了各个框架的结构、数量、大小和目标等属性。本章将介绍框架的使用方法。 4.1.1创建一个新的框架集网页 (1)运行Dreamweaver CS3,选择“文件”→“新建”命令,弹出“新建文档”对话框,在对话框中选择“示例中的页”→“框架集”→“上方固定,左侧嵌套”选项,如下图所示。 (2)单击“创建”按钮,弹出“框架标签辅助功能属性”对话框,如下图所示,在此可为每一个框架指定一个标题。
(3)单击“确定”按钮,即可创建一个上方固定,左侧嵌套的框架集,如下图所示。 4.1.2保存框架 每个框架包含一个文件,因此一个框架集会包含多个文件,在保存网页时,要将整个网页文档都保存下来。操作步骤如下: (1)选择“文件”→“保存全部”命令,整个框架边框会出现一个阴影框,同时会弹出“另存为”对话框,命名为“index.html”,表示整个框架集的名称。 (2)单击“保存”按钮,弹出第二个“另存为”对话框,右边框架内侧出现阴影,命名为“main.htlm”,表示右边框架即主框架的文件名。 (3)单击“保存”按钮,依次弹出第3个和第4个“另存为”对话框,分别命名为“left.html” 和“top.html”,表示左边框架和上方框架的文件名。如下图所示:
iframe的用法
Iframe的用法介绍: iframe>是框架的一种形式,也比较常用到。 例子1。 不用多说了。 width插入页的宽;height插入页的高;scrolling 是否显示页面滚动条(可选的参数为auto、yes、no,如果省略这个参数,则默认为auto);frameborder 边框大小; 注意:URL建议用绝对路径 传说中百DU用: 黑了88*8。。。 例子2。 如果一个页面里面有框架。。随便点页面里的连接,要求在这个
Frame的用法
2500 ■ 框架标记