利用JAVASCRIPT让IFRAME框架的高度自适应
页面内嵌不同的网页内容时,导致iframe的高度无法与实现内容或浏览器高度相匹配。窗口大小变换时,不能iframe不能进行自动调整。这里,我们利用JAVASCRIPT让IFRAME框架的高度自适应。
首先,写出如下的JS方法。
/**
* 内嵌页面的高度设置
*/
function handleFrameLoad() {
var hDoc = getBodyHeight(document);
var tblmain = document.getElementById('tblMain');
var mFrame = window.mainFrame;
var hFrameDoc = getFrameHeight(mFrame);
var hTable = hDoc-80; //减去该页面除iframe外其他控件所占的高度.
if(hFrameDoc > hTable) hTable = hFrameDoc;
tblmain.style.height = hTable;
mFrame.height = hTable;
if(window.mainFrame.moduleRight != null){
//表示该内嵌页,包含内嵌的页面,页iframe的id固定为moduleRight。
initFrameHeight(mFrame,hTable);
}
}
/**
* 获取当前页面的高度
*/
function getBodyHeight(doc){
if(doc.all) return doc.body.offsetHeight;
else return doc.body.scrollHeight;
}
/**
* 获取内嵌页中的高度.
* 若另含子内嵌(moduleRight)页时,应考虑该页面的高度.
*/
function getFrameHeight(mFrame){
var h1 = mFrame.document.body.offsetHeight;
var h2 = mFrame.document.body.scrollHeight;
if(mFrame.moduleRight != null){
var h3 = mFrame.moduleRight.document.body.scrollHeight;
if(h3 > h2) h2 = h3;
}
return h2;
}
/**
* 设置子内嵌页面的高度.
* 通过设置iframe所在table的高度来调整。
*/
function initFrameHeight(frame,hFrame){
var tbl = frame.document.getElementById('tblMainFrame');
tbl.style.height = hFrame;
}
主页面,在加载完毕(onload)、窗口大小调整(onresize),以及iframe的加载完毕时,需调用:handleFrameLoad,代码如下:
<html>
<body onload="handleFrameLoad();" onResize="handleFrameLoad();">
<iframe src="" id="mainFrame" name="mainFrame" border=0 width=100% height=100% frameborder="0" marginwidth="0" hspace="0" scrolling="no" onload="handleFrameLoad();"/>
</body>
</html
其他内嵌页如下(注:此处的iframe高度设为100%,其高度由父页面通过设置table<tblMainFram
相关文档:
<html>
<head>
<base href="<%=basePath%>">
<script type="text/javascript">
function check(){
var name1 = document.form1.name1.value;
var passwor ......
a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP
<a href="javascript:void(0)" onClick="window.open()"> 点击链接后,页面不动,只打开链接
<a href="#" onclick="javascript:return false;"> 作用同上,不同浏览器会有差异。
点击链接后,不想使页面滚到页首,就用href="javascript:v ......
javaScript 截取字符串
两种方法:
String.substr(N1,N2) 这个就是我们常用的从指定的位置(N1)截取指定长度(N2)的字符串;
String.substring(N1,N2) 这个就是我们常用的从指定的位置(N1)到指定的位置(N2)的字符串;
例如
对于http://localhost:8008index.aspx
substr(22,5)=substring(22,27)
Result:index
打印本页
......
dp.SyntaxHighlighter
dp.SyntaxHighlighter,这东西yahoo都在用它,支持多种语言。
只需要将代码放到<textarea>标签内,它就可以自动根据class指定的语言来对textarea内容进行着色,还提供了行号、打印等功能。如:
Xml代码
<TEXTAREA class=java name=code><br/> // code here ......
提供一个简单的例子:
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Key ......