您的位置:首页 > Web前端 > JavaScript

javascript实现让网页逃不出框架

2009-02-17 11:35 197 查看
有的时候整个网站都需要通过框架来访问,但某些应该在框架里显示才合理的页面经常会单独显示(如从新窗口中打开、从外部网站链接进来等情况)。
今天想到了一个办法处理,在此分享。

假设网站中有一个首页(框架页,首页框架包含一个头部页(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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: