日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

水滴石穿之IFRANME加载完成判断、获取函数的动态参数信息

發布時間:2024/4/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 水滴石穿之IFRANME加载完成判断、获取函数的动态参数信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.判斷IFRAME是否加載完成
由于頁面過程中,需要對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()來共同實現這個目標
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();??
????????????????????????????}
);
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);
}


? 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?''?;
}

?

4.對事件進行參數綁定

Code
//?對Function原型bind方法申明
Function.prototype.bind??=??function()???
{???
????????
var???__method???=???this;???
????????
var???arg???=???arguments;???
????????
return???function()???
????????????????{???
??????????????????__method.apply(window,???arg);???
????????????????}???
}

轉載于:https://www.cnblogs.com/lne818/archive/2007/09/05/882889.html

總結

以上是生活随笔為你收集整理的水滴石穿之IFRANME加载完成判断、获取函数的动态参数信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。