分享

水滴石穿之页面遮罩层实现、向window.open()打开的窗口POST数据

 WindySky 2009-03-29

1.页面遮罩层实现

<script>   
function locking()
{   
    document.all.ly.style.display
="block";   
    document.all.ly.style.width
=document.body.clientWidth;   
    document.all.ly.style.height
=document.body.clientHeight;   
    document.all.Layer2.style.display
='block';   
}
 
    
function unlock()
{     
    document.all.ly.style.display
='none';
    document.all.Layer2.style.display
='none';  
}
   
</script> 
<div id="ly"style="position:absolute;top:0px;FILTER:alpha(opacity=60);background-color:#777;z-index:2;left:0px;display:none;"></div>   
<!--浮层框架开始 -->   
<div id="Layer2" align="center" style="position:absolute; z-index:3; width:300; height:150px;left:expression((document.body.offsetWidth-540)/2);   
                                    top:expression((document.body.offsetHeight-170)/2);background-color:#fff;display:none;"
 valign="center">       
<table width="300" height="150" border=0 cellpadding=0 cellspacing=0 align="center" style="border:0 solid #e7e3e7;border-collapse: collapse">   
<tr>   
  
<td style="background-color:#73A2d6;color:#fff;padding-left:4px;padding-top:2px;font-weight:bold;font-size:14px;"height=27 >数据正在加载..
  
</td>   
</tr>    
</table>     
</div>

 

2.向window.open()打开的窗口POST数据


function openWindowWithPost(url,name,keys,values)
{
    
var newWindow = window.open(url, name);
    
if (!newWindow)
        
return false;
        
    
var html = "";
    html 
+= "<html><head></head><body><form id='formid' method='post' action='" + url + "'>";
    
if (keys && values)
    {
       html 
+= "<input type='hidden' name='" + keys + "' value='" + values + "'/>";
    }
    
    html 
+= "</form><script type='text/javascript'>document.getElementById('formid').submit();";
    html 
+= "<\/script></body></html>".toString().replace(/^.+?\*|\\(?=\/)|\*.+?$/gi, ""); 
    newWindow.document.write(html);
    
    
return newWindow;
}

这里需要注意两点:
(1)如果需要post多个对象,那么可以在if (keys && values)增加一个循环
(2)"<\/script></body></html>".toString().replace(/^.+?\*|\\(?=\/)|\*.+?$/gi, "") 只是为了防止<script>标签意外匹配

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约