javascript實現讓網頁逃不出框架


      有的時候整個網站都需要通過框架來訪問,但某些應該在框架裏顯示才合理的頁面經常會單獨顯示(如從新窗口中打開、從外部網站鏈接進來等情況)。
今天想到了一個辦法處理,在此分享。

        假設網站中有一個首頁(框架頁,首頁框架包含一個頭部頁(header.aspx)、左邊欄(left.aspx)、主體(main.aspx))、N多其它要在主體裏顯示的頁面。那麼有如下代碼:

1.在“N多其它要在主體裏顯示的頁面”加上這個代碼:

<script type="text/javascript">
   if (!top){        var currentUrl=window.location.pathname;      
 top.location = "default.aspx?url="+currentUrl; //帶參數的跳轉  
 }</script>


2.在header.aspx(或left.aspx)里加如下代碼:

    <script type="text/javascript"> 
  <!--     
  Request = { 
          QueryString : function(item){ 
              var svalue = top.location.search.match(new RegExp('[/?/&]' + item + '=([^/&]*)(/&?)','i'));    
           return svalue ? svalue[1] : svalue;
            }
        }
       var mainurl=Request.QueryString('url');  //讀取url的值
       if(mainurl && mainurl!='' && mainurl!='/')
        {
            top.document.getElementById('main').src=mainurl; //main爲主體框架的id
       }   
-->    </script>


3.在default.aspx里加如下代碼

    <script type="text/javascript">
       if (top){
            top.location = "default.aspx";   //防止被放入框架中
        }
    </script>
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章