1.判断IFRAME是否加载完成
由于页面过程中,需要对IFRAME中的页面进行控制!但是由于IFRAME页面是其他人完成的,只是知道它的一些变量!页面结构如下:
2.获取函数的动态参数信息
在开发过程中,经常需要对函数实行重载,Javascript本身没有提供这种功能,但是我们可以通过动态判断函数的个数,实现同一个函数处理不同的问题
比如在表格的加载过程中,填写前和填写后是完全同样的过程,唯一不同的是填写后的表格加载需要设置innerText值,这时候就可以通过Function的arguments属性来完成这个工作
由于页面过程中,需要对IFRAME中的页面进行控制!但是由于IFRAME页面是其他人完成的,只是知道它的一些变量!页面结构如下:
<mw:SplitterPanel ID="detailSplitterPanel" runat="server">
<iframe id="clxx" style="margin:5px 5px 5px 5px;height:100%; width:100%" frameBorder=0 scrolling="no" allowTransparency="true"></iframe>
</mw:SplitterPanel>
这是如果在父页面的onload事件中直接document.frames["clxx"].document.getElementById("splitter_splitter").style.display = "none",IE会提示错误,这是因为IFRAME还没有加载完成,这时候直接引用变量肯定是不存在的,所以必须利用readyState和setTimeout()来共同实现这个目标<iframe id="clxx" style="margin:5px 5px 5px 5px;height:100%; width:100%" frameBorder=0 scrolling="no" allowTransparency="true"></iframe>
</mw:SplitterPanel>
function setSplitterVisiblity()
{
if(window.frames["clxx"].document.readyState=="complete")
document.frames["clxx"].document.getElementById("splitter_splitter").style.display = "none";
else
setTimeout("setSplitterVisiblity()",1000);
}
window.attachEvent("onload",function()
{
document.frames["clxx"].location.href=$mappath("~/BlankWebView.aspx?WebView=BDTV1View&MenuID=02E141CC-720D-4986-9FC4-82A17CECE41F");
setSplitterVisiblity();
});
{
if(window.frames["clxx"].document.readyState=="complete")
document.frames["clxx"].document.getElementById("splitter_splitter").style.display = "none";
else
setTimeout("setSplitterVisiblity()",1000);
}
window.attachEvent("onload",function()
{
document.frames["clxx"].location.href=$mappath("~/BlankWebView.aspx?WebView=BDTV1View&MenuID=02E141CC-720D-4986-9FC4-82A17CECE41F");
setSplitterVisiblity();
});
2.获取函数的动态参数信息
在开发过程中,经常需要对函数实行重载,Javascript本身没有提供这种功能,但是我们可以通过动态判断函数的个数,实现同一个函数处理不同的问题
比如在表格的加载过程中,填写前和填写后是完全同样的过程,唯一不同的是填写后的表格加载需要设置innerText值,这时候就可以通过Function的arguments属性来完成这个工作
function addBxbj(arr)
{
if(addBxbj.arguments.length == 0)
{
arr = new Array("",0,0,"");
}
var tgt = document.getElementById("bxbj_details");
//名称
var row = tgt.insertRow();
var cell = row.insertCell();
var obj = createInputText(150);
obj.value = arr[0];
cell.appendChild(obj);
obj.focus();
//估价
cell = row.insertCell();
obj = createInputText(60);
obj.value = arr[1];
cell.appendChild(obj);
//实际价格
cell = row.insertCell();
obj = createInputText(60);
obj.value = arr[2];
cell.appendChild(obj);
//删除
cell = row.insertCell();
obj = document.createElement("label");
obj.innerText = " 增加 ";
cell.appendChild(obj);
obj.onclick = addBxbj;
obj = document.createElement("label");
obj.innerText = " 删除 ";
obj.onclick = delSelectedRow;
cell.appendChild(obj);
}
{
if(addBxbj.arguments.length == 0)
{
arr = new Array("",0,0,"");
}
var tgt = document.getElementById("bxbj_details");
//名称
var row = tgt.insertRow();
var cell = row.insertCell();
var obj = createInputText(150);
obj.value = arr[0];
cell.appendChild(obj);
obj.focus();
//估价
cell = row.insertCell();
obj = createInputText(60);
obj.value = arr[1];
cell.appendChild(obj);
//实际价格
cell = row.insertCell();
obj = createInputText(60);
obj.value = arr[2];
cell.appendChild(obj);
//删除
cell = row.insertCell();
obj = document.createElement("label");
obj.innerText = " 增加 ";
cell.appendChild(obj);
obj.onclick = addBxbj;
obj = document.createElement("label");
obj.innerText = " 删除 ";
obj.onclick = delSelectedRow;
cell.appendChild(obj);
}
3.从URL中获取参数值
function GetUrlParam( paramName )
{
var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
var oMatch = oRegex.exec( window.location.search ) ;
if ( oMatch && oMatch.length > 1 )
return oMatch[1] ;
else
return '' ;
}
{
var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' ) ;
var oMatch = oRegex.exec( window.location.search ) ;
if ( oMatch && oMatch.length > 1 )
return oMatch[1] ;
else
return '' ;
}
4.对事件进行参数绑定
Code