JSP JS的一些对象

1、js中top的作用

每一个WINDOW对象,不论他是常规HTML页面。框架集页面。子框架还是孙子框架,都具有一个TOP属性。这个属性返回对载入浏览器得最顶层WINDOE对象得引用;


如果WINDOW对象是常规HTML页面,TOP就是SELF
。。。。。。。。。。。顶层框架及页面, 。。。。。。。。
。。。。。。。。。。。子框架,TOP指向框架得父亲,也就是说,下面两个表达式是等效的;
SELF.TOP
SELF.PARENT
。如果WINDOW对象是子框架,TOP指向框架得祖父。也就是说下面两个表达式是等效得
self.top
self.parent.parent

这可能提醒了你一个减少按键得好方法,尤其是当你认为能为能仅适用TOP本身是(那就是说,使用TOP本身来代替SELF.TOP或者WINDOW.TOP),这虽是可行的,但是应该特别注意:必须确保TOP真正指向你的顶层框架


2、jsp和javaccript传参数用document.location.href  

在JSP页面中传递参数:document.OrderProcessing_OrderDetailList.document.location.href="/iHIS/protekted/ihis/om/orderentry/OrderProcessing_OrderDetailList.jsp?ddFormNo="+document.all.ddFormNo.value+"&showCurrentFormNo="+document.all.showCurrentFormNo.value;

top.location.href   最上层的地址  

windows.location.href自己的地址

另一个跟框架有关的问题:

一个在框架中的页面重定向到另一个页面的时候。这个页面会在框架中。但有些页面是始终都应该在框架外的。比如说网站的首页。这时只要在网站的首页的<head></head>之间加上下面这段脚本首页就不会再出现在框架里了。

<script>

       if(window.parent[0] != null)

       {

            if(top.location.href != window.location.href)

            {

                top.location.href = window.location.href;

            }

 </script>  

项目中用到的代码

<script type="text/javascript">
window.οnlοad=function(){
    //当页面超时,并且页面位于子frame或者iframe中
    if(top!=self){
        top.document.location.href = document.location.href;
        return;
    }
    //当页面超时,并且页面是通过showModalDialog方式弹出时
    if(typeof(window.dialogTop)!="undefined"){
        var logoutObj = new Array();
        logoutObj[0] = "__logout__";
        logoutObj[1] = document.location.href;
        window.returnValue = logoutObj;
        window.close();
        return;
    }
    document.getElementById("opercode").focus();
    document.getElementById("opercode").οnfοcus=
    document.getElementById("passwd").οnfοcus=function(evt){
        this.style.backgroundColor="#fffa66";//#ffee33
    };
    document.getElementById("opercode").οnblur=
    document.getElementById("passwd").οnblur=function(evt){
        this.style.backgroundColor="#ffffff";
    };
    try{
        window.opener.opener=null;
        window.opener.close();
    }catch(e){}
}
</script>


3、ShowModalDialog函数、改变模态窗口大小

ShowModalDialog函数的功能:
打开一个子窗口,并且可与父窗口相互传递数据,它与window.open的最大区别就在于由ShowModalDialog打开子窗口后,父窗口将不能操作。
使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
参数说明:
sURL
必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
vArguments
可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
sFeatures
可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
 

                dialogHeight 对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
   dialogWidth: 对话框宽度。
   dialogLeft: 距离桌面左的距离。
   dialogTop: 离桌面上的距离。
   center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定高度和宽度。
   help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。
   resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默认no。
   status: {yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[Modeless]或no      [Modal]。
                scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。
参数传递方法:
父窗口向子窗口传递参数采用ShowModalDialog的第2个参数即可,父窗口要获取子窗口传回的参数则可通过ShowModalDialog函数的返回值获取。
子窗口获取父窗口参数的方法为采用子窗口window对象dialogArguments属性获取,例如:
var a=window.dialogArguments;
子窗口向父窗口返回参数采用window.returnValue属性,如:
window.returnValue=1;
window.close();

接下来,就是取得父窗口的一些数据和方法,这是经常会用的
//取得父窗口的JS变量 var
window.dialogArguments.var;
//获得父窗口的对象和属性
window.dialogArguments.form1.name.value ;
//调用父窗口的方法 fun
window.dialogArguments.fun() ;



改变模态窗口大小

1.html

<HTML>
<HEAD>
<TITLE>改变对话框的大小</TITLE>
</HEAD>
<script>
function showdialog(){
window.showModalDialog("2.html","",'edge: Raised; center: Yes;help: Yes; resizable: Yes; status:No;dialogHeight:200px;dialogWidth:300px');
}
</script>
<BODY>
<input type=button value="showdialog"οnclick="showdialog();">
</BODY>

</HTML>

2.<HTML>
<HEAD>
<TITLE>改变对话框的大小</TITLE>
</HEAD>

<BODYοnlοad=Resize_dialog(1000,1000,1000,1000)>
<SCRIPT LANGUAGE="JavaScript">
function Resize_dialog(t,l,w,h) {

window.dialogTop = t+"px";
window.dialogLeft = l+"px";
window.dialogHeight = h+"px";
window.dialogWidth = w+"px";
}

</SCRIPT>
</BODY>
</HTML>


dialogTop: iYPos 设置对话框窗口相对于桌面左上角的top位置


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值