描述:利用js指令碼的Array集合實現,挺實用,特別是在自己做架構的時候<script>
function
goUrl(urlItem,obj)
{
var
HpageIndex = 0;//
定義儲存URL地址集合的最大索引
var
HpageLength = 0;//
定儲存URL地址集合的長度
var
HpageUrl = new
Array();//
定義儲存URL地址的集合
HpageIndex
= parent.window.pageIndex;//
擷取URL地址集合的最大索引,(父級頁面的全域變數)
HpageLength
= parent.window.pageLength; //
擷取URL地址集合的總長度,(父級頁面的全域變數)
HpageUrl
= parent.window.pageUrl;//
擷取URL地址集合,(父級頁面的全域變數)
var
urlPath = parent.document.getElementById('mainFrame').src;//
擷取主架構當前訪問的頁面,(主架構MainFrame的src所指定頁面地址)
///
重新整理事件的判斷
if(urlItem
== ''
&& obj == '')
{
urlPath
= parent.document.getElementById('mainFrame').src;//
為了避免異常,在這裡重新擷取一次 主架構當前訪問的頁面
parent.document.getElementById('mainFrame').src
= urlPath;//
設定主架構當前要訪問的頁面
}
///
首頁事件處理
else
if(urlItem
== '0'
&& obj == '0')
{
urlPath
= HpageUrl[0];//
擷取集合中第一項值(頁面載入時儲存進去的首頁,也可以自己定義)
parent.document.getElementById('mainFrame').src
= urlPath;//
設定主架構當前要訪問的頁面
}
///
頁面訪問曆史 後退事件處理
else
if(urlItem
== '-1'
&& obj == '-1')
{
//
判斷URL地址集合(全域是變數)是否為空白
if(parent.window.pageUrl
!= null){
//
判斷集合的長度是否為1,是則表示訪問曆史為1
if
(parent.window.pageUrl.length == 1)
urlPath
= parent.window.pageUrl[0];
//
判斷集合長度是否大於1,是則迴圈判斷訪問曆史
else
if
(parent.window.pageUrl.length > 1){
//
逐一查看曆史地址集合
for(var
i = 0; i < HpageUrl.length; i++ ){
//
判斷是否等於當前正在訪問的頁面地址
if(urlPath==HpageUrl[i])
{
//
判斷是否後退到第一個, 是則直接取第一個地址
if((i-1)
<= 0)
{
urlPath
= HpageUrl[0];
break;
}
else
{
urlPath
= HpageUrl[i-1];//
擷取當前訪問地址相等的上一個訪問地址記錄
break;
}
}
}
}
}
if(urlPath
== '')//
判斷曆史訪問記錄地址是否為空白,空則返回主架構當前地址
urlPath
= parent.document.getElementById('mainFrame').src;
parent.document.getElementById('mainFrame').src
= urlPath;//
設定主架構當前要訪問的頁面
}
//
頁面訪問曆史 前進事件處理
else
if(urlItem
== '1'
&& obj == '1')
{
//
判斷URL地址集合(全域是變數)是否為空白
if(parent.window.pageUrl
!= null){
//
判斷集合的長度是否為1,是則表示訪問曆史為1
if
(parent.window.pageUrl.length == 1)
urlPath
= parent.window.pageUrl[0];
//
判斷集合長度是否大於1,是則迴圈判斷訪問曆史
else
if
(parent.window.pageUrl.length > 1){
//
逐一查看曆史地址集合
for(var
i = 0; i < HpageUrl.length; i++ ){
//
判斷是否等於當前正在訪問的頁面地址
if(urlPath==HpageUrl[i])
{
//
判斷是否前進到最後一個, 是則直接取最後一個地址
if((i+1)
>= parent.window.pageUrl.length)
{
urlPath
= HpageUrl[i];
break;
}
else
{
urlPath
= HpageUrl[i+1];//
擷取當前訪問地址相等的下一個訪問地址記錄
break;
}
}
}
}
}
if(urlPath
== '')//
判斷曆史訪問記錄地址是否為空白,空則返回主架構當前地址
urlPath
= parent.document.getElementById('mainFrame').src;
parent.document.getElementById('mainFrame').src
= urlPath;//
設定主架構當前要訪問的頁面
}
else
{
urlPath
= "Default.aspx?"+urlItem;//
設定事件傳遞的要訪問的頁面地址
parent.document.getElementById('mainFrame').src
= urlPath;//
設定主架構當前要訪問的頁面
urlPath
= parent.document.getElementById('mainFrame').src;
//
重新擷取主架構當前要訪問的頁面
HpageUrl[HpageIndex
+ 1] = urlPath;//
將當前訪問的頁面地址加入到頁面臨時URL的地址集合
parent.window.pageIndex
= HpageIndex + 1; //
設定全域最大索引
parent.window.pageLength
= HpageLength + 1; //
設定全域集合的長度
parent.window.pageUrl
= HpageUrl;//
設定全域集合資料
//alert('當前訪問:'
+ urlPath + ' pageUrl.Length:' + HpageUrl.length,+'');
}
}
</script>
作者:WuWenji_ZhaoLinQing