`
齐晓威_518
  • 浏览: 622647 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

JSP中使用Iframe的技巧

 
阅读更多
<Iframe src="/URL" width="x" height="x" scrolling="[OPTION]" frameborder="x"></iframe>
 src:文件的路径,既可是HTML文件,也可以是文本、asp等;
 width、height:"画中画"区域的宽与高;
 scrolling:当SRC的指定的HTML文件在指定的区域不显不完时,滚动选项,如果设置为NO,则不出现滚动条;如为Auto:则自动出现滚动条;如为Yes,则显示;
frameborder:区域边框的宽度,为了让“画中画“与邻近的内容相融合,常设置为0。
  比如:
<Iframe src="http://www.xyz.com/xyz"; width="250" height="200" scrolling="no" frameborder="0"></iframe>
  窗口与浮动帧之间的相互控制
  在脚本语言与对象层次中,包含Iframe的窗口我们称之为父窗体,而浮动帧则称为子窗体,弄清这两者的关系很重要,因为要在父窗体中访问子窗体或相反都必须清楚对象层次,才能通过程序来访问并控制窗体。
  1、在父窗体中访问并控制子窗体中的对象
  在父窗体中,Iframe即子窗体是document对象的一个子对象,可以直接在脚本中访问子窗体中的对象。
  现在就有一个问题,即,我们怎样来控制这个Iframe,这里需要讲一下Iframe对象。当我们给这个标记设置了ID 属性后,就可通过文档对象模型DOM对Iframe所含的HTML进行一系列控制。
  比如在example.htm里嵌入test.htm文件,并控制test.htm里一些标记对象:
  <Iframe src="test.htm" id="test" width="250" height="200" scrolling="no" frameborder="0"></iframe>
test.htm文件代码为:
  <html>
   <body>
    <h1 id="myH1">hello,my boy</h1>
   </body>
  </html>
  如我们要改变ID号为myH1的H1标记里的文字为hello,my dear,则可用:
  document.myH1.innerText="hello,my dear"(其中,document可省)
  在example.htm文件中,Iframe标记对象所指的子窗体与一般的DHTML对象模型一致,对对象访问控制方式一样,就不再赘述。
  2、在子窗体中访问并控制父窗体中对象
  在子窗体中我们可以通过其parent即父(双亲)对象来访问父窗口中的对象。
  如example.htm:
  <html>
   <body onclick="alert(tt.myH1.innerHTML)">  <Iframe name="tt" src="frame1.htm" width="250" height="200" scrolling="no" frameborder="0"></iframe>
    <h1 id="myH2">hello,my wife</h1>
   </body>
  </html>
  如果要在frame1.htm中访问ID号为myH2中的标题文字并将之改为"hello,my friend",我们就可以这样写:
  parent.myH2.innerText="hello,my friend"
  这里parent对象就代表当前窗体(example.htm所在窗体),要在子窗体中访问父窗体中的对象,无一例外都通过parent对象来进行。
  Iframe虽然内嵌在另一个HTML文件中,但它保持相对的独立,是一个“独立王国“哟,在单一HTML中的特性同样适用于浮动帧中。
   试想一下,通过Iframe标记,我们可将那些不变的内容以Iframe来表示,这样,不必重复写相同的内容,这有点象程序设计中的过程或函数,减省了 多少繁琐的手工劳动!另外,至关重要的是,它使页面的修改更为可行,因为,不必因为版式的调整而修改每个页面,你只需修改一个父窗体的版式即可了。
  要注意的是,Nestscape6.0之前版本不支持Iframe标记。
  例子:
<iframe src="页面" width="宽度"  height="高度" align="排列可以是left或right,center" scrolling="是否有滚动条可以填no或yes"></iframe>
<IFRAME frameBorder=0 frameSpacing=0 height=25 marginHeight=0 marginWidth=0 scrolling=no
name=main src="/bgm/bgm.html" width=300></IFRAME>
用了iframe后 发现滚动条不漂亮 想用2个图片来代替↑↓
应该怎么实现呢?
回答:
用下列代码替换网页的<title>..</title>
<SCRipT LANGUAGE="javascript">
function scroll(n)
{temp=n;
Out1.scrollTop=Out1.scrollTop+temp;
if (temp==0) return;
setTimeout("scroll(temp)",80);
}
</SCRIPT>
<TABLE WIDTH="330">
<TR>
<TD WIDTH="304" VALIGN="TOP" ROWSPAN="2" >
<DIV ID=Out1 STYLE="width:100%; height:100;overflow: hidden ;border-style:dashed;border-width:
1px,1px,1px,1px;">
文字<BR> 文字<BR>
文字<BR>
文字<BR>
文字
<BR>
<BR>
</DIV>
</TD>
< TD WIDTH="14" VALIGN="TOP"><IMG SRC="photo/up0605.gif" WIDTH="14" HEIGHT ="20" onmouSEOver="scroll(-1)" onmouseout="scroll(0)" onmousedown="scroll (-3)" BORDER="0" ALT="按下鼠标速度会更快!"></TD>
</TR>
<TR>
< TD WIDTH="14" VALIGN="BOTTOM"><IMG SRC="photo/down0605.gif" onmouseover ="scroll(1)" onmouseout="scroll(0)"  onmousedown="scroll(3)" BORDER="0" WIDTH ="15" HEIGHT="21" ALT="按下鼠标速度会更快!"></TD>
</TR>
</TABLE>
下面这段代码可以实现IFrame自适应高度,即随着页面的长度,自动适应以免除页面和IFrame同时出现滚动条。
源代码如下
<script type="text/Javascript">
//
//输入你希望根据页面高度自动调整高度的iframe的名称的列表
//用逗号把每个iframe的ID分隔. 例如: ["myframe1", "myframe2"],可以只有一个窗体,则不用逗号。
//定义iframe的ID
var iframeids=["test"]
//如果用户的浏览器不支持iframe是否将iframe隐藏 yes 表示隐藏,no表示不隐藏
var iframehide="yes"
function dyniframesize()
{
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++)
{
if (document.getElementByIdx_x)
{
//自动调整iframe高度
dyniframe[dyniframe.length] = document.getElementByIdx_x(iframeids);
if (dyniframe && !window.Opera)
{
dyniframe.style.display="block"
if (dyniframe.contentDocument && dyniframe.contentDocument.body.offsetHeight) //如果用户的浏览器是NetScape
dyniframe.height = dyniframe.contentDocument.body.offsetHeight;
else if (dyniframe.Document && dyniframe.Document.body.scrollHeight) //如果用户的浏览器是IE
dyniframe.height = dyniframe.Document.body.scrollHeight;
}
}
//根据设定的参数来处理不支持iframe的浏览器的显示问题
if ((document.all || document.getElementByIdx_x) && iframehide=="no")
{
var tempobj=document.all? document.all[iframeids] : document.getElementByIdx_x(iframeids)
tempobj.style.display="block"
}
}
}
if (window.addEventListener)
window.addEventListener("load", dyniframesize, false)
else if (window.attachEvent)
window.attachEvent("onload", dyniframesize)
else
window.onload=dyniframesize
</script>
分享到:
评论

相关推荐

    iframe父页面与子页面互相调用

    在这段代码中,父页面`parent.jsp`中有一个`&lt;iframe&gt;`标签,其`name`属性设置为`child`,用来指定这个iframe的名字。当父页面加载时,会自动执行`show()`函数,该函数中通过`window.frames("child")`获取到了名为`...

    解决JSP 调用 JS 导出WORD 与EXCEL

    在JSP中,你可以使用POI来创建、修改和读取Word或Excel文件,然后将其转换为字节流,通过HTTP响应返回给客户端。 2. **JavaScript导出**:在前端,我们可以利用JavaScript创建一个隐藏的`&lt;iframe&gt;`元素,将服务器...

    jsp开发经典,能完全满足你日常编程的需求,是你的学习能力提高和改善

    在提供的内容中,可以看到七种不同的天气预报代码片段,它们都是使用IFrame标签嵌入到网页中,从不同的服务提供商获取实时天气信息的。这些代码展示了JSP如何用于构建动态网页,通过嵌入外部资源来提供实用功能,...

    JS实现向iframe中表单传值的方法

    这个函数的主要任务是获取`textarea`中的值并将其传递到iframe中显示结果的页面b.jsp。 ```html ;" id="sqlcontent"&gt; ();" class="Anbut2" value=" 执 行 "&gt; &lt;iframe id="ResultShowFrame" scrolling="yes" src=...

    jsp网页开发常用代码

    以上介绍了JSP网页开发中常见的几种代码技巧,包括但不限于禁止浏览器默认行为、页面定时跳转、禁止刷新等。这些技术可以帮助开发者更好地控制用户的浏览体验,同时提高网站的安全性和可用性。需要注意的是,在实际...

    毕业设计论文-IT计算机-[图片动画]JSP目录直读程序_jsp_mlzd-源码.zip

    例如,图片可以直接以标签插入到HTML中显示,而动画文件可能需要使用HTML5的或&lt;iframe&gt;标签。此外,考虑到性能和用户体验,程序可能还包含了预加载、缓存策略等优化措施。 在实际开发中,为了保证安全性,还需要...

    关于Iframe如何跨域访问Cookie和Session的解决方法

    在Web开发中,Iframe(内联框架)常用于嵌入其他网页内容,但涉及到跨域访问时,尤其是在处理Cookie和Session时,会遇到一些挑战。本文主要探讨如何解决Iframe跨域访问Cookie和Session的问题。 首先,理解跨域访问...

    不刷当前jsp页面上传文件的实例

    - **Iframe**:用于接收POST请求响应,隐藏于页面中。 #### 3. 关键代码解析 接下来,我们详细分析关键代码部分。 ##### 3.1 DWR回调函数 ```javascript function callback(msg) { document.getElementById(...

    报表开发工具FineReport中如何把报表放到网页中显示

    ### 报表开发工具FineReport中如何把报表放到网页中显示 #### 一、背景介绍 随着信息技术的发展,越来越多的企业倾向于使用基于浏览器...对于那些希望进一步扩展报表功能的开发者来说,掌握iFrame的使用技巧至关重要。

    jquery经验总结——页面加载事件ready(fun)

    在使用jQuery之前,主页面可能很快展现,而iframe中的页面加载速度较慢,尤其是在数据量大的情况下。然而,当在主页面中引入jQuery的`ready()`事件来控制页面展现动画时,发现主页面的显示与iframe中的页面同步,这...

    页面自动刷新有关各种的技术

    在多框架页面中,如果需要刷新特定的框架,可以使用JavaScript来针对特定的`frame`或`iframe`进行刷新,例如: ```javascript top.leftFrm.location.reload(); parent.frmTop.location.reload(); ``` 以上就是...

    深层优化 提高网站的访问速度的一些技巧

    - 如果需要在页面中插入可能影响速度的内容(如广告),可使用iframe将它们隔离,确保主页面的加载不受影响。iframe允许加载外部内容,且不会阻塞主页面的渲染。 6. **计数器代码的优化** - 在网页中添加计数器...

    电子商务上机指导说明书.doc

    主页面代码示例中,包含了HTTP头部信息、CSS链接、JavaScript脚本以及两个iframe,分别用于显示左侧菜单(`left.jsp`)和主要内容(`goodsListAction.do?method=list`)。 - **录入和编辑页面**:当用户点击“添加”时...

    JS小技巧集锦,开发中用的到的哦

    ### JS小技巧集锦知识...这些技巧覆盖了 JavaScript 开发中的多个方面,从事件处理、DOM 操作到页面控制等,对于提升 Web 应用的交互性和用户体验都非常有用。开发者可以根据实际需求灵活运用这些技巧,提高开发效率。

    sotower1.0各种小知识

    - HTML部分展示了上传附件的界面结构,包含一个`iframe`元素,它的`src`属性指向一个名为`upload.jsp`的页面,该页面负责处理实际的文件上传。`hiddenfield=annPicture`和`module=event`可能是传递给上传页面的参数...

    JEECG_v3开发指南v3.2.pdf

    - **数据库初始化**:指导如何初始化数据库,确保开发过程中使用的数据一致性。 - **项目数据源配置**:提供了配置项目所需数据源的具体步骤。 - **项目启动测试**:介绍了如何启动项目并进行基本的功能测试,...

    mvc学习过程全笔记

    10. **iframe**: 内嵌一个网页到另一个网页中,常用于嵌入第三方内容如地图、视频等。 #### 四、MVC中的JavaScript技巧 JavaScript是实现前端动态效果的关键语言,在MVC架构中起着至关重要的作用。以下是一些常见...

    javascript小练习

    这部分练习可能涉及如何利用JavaScript与IFrame通信、动态加载和更新框架内容等技巧。 3. **javaScriptProject**:这部分可能是实际的小项目,用于检验JavaScript基础知识的运用,比如计时器、动画效果、表单验证...

    Layer弹出层动态获取数据的方法

    在Web开发中,Layer弹出层是一个常用的JavaScript组件,用于创建各种类型的弹出对话框,如提示、警告、信息窗口以及复杂的iframe嵌入页面...在实际开发中,遇到类似问题时,可以考虑使用这些技巧来实现数据的动态交互。

Global site tag (gtag.js) - Google Analytics