直连框架内网页自动加载框架

框架集名称:ForumMain
子框架上:名称:topframe,默认表单:FmForumTop
子框架下(引入资源):mainframe,默认表单:FmForumNav

具体帖子的表单页面:FmMainDoc
在具体帖子的onLoad事件中添加方法,判断:
window.top==window表示当前页面不在框架中,做跳转。跳转到默认主页需要将与帖子相关的参数提供到默认主页地址,供默认首页获取信息。跳转完成后,需要把地址改回,不然重新进入默认主页还会继续跳转。我们可以将参数使用#提供。这里的SelfID实际上代表帖子的主标记用于唯一定位帖子的参数。跳转成功后,如果有帖子UNID参数,则去掉#后内容,而#不能删除否则页面会刷新。

//直接从热帖进入,自动加载框架
if(window.top==window)
{
var  href=location.href;
var indexOf=href.toLowerCase().indexOf(".nsf");
var objsUNID=document.getElementsByName("SelfID");
var objUNID=null;
var UNID="";
var BaseUrl="";
var Url="";
if(objsUNID) objUNID=objsUNID[0];
if(objUNID) UNID=objUNID.value;
if(indexOf>=0)
{
BaseUrl=href.substring(0,indexOf+4);
Url=BaseUrl+"/ForumMain?OpenFrameset#UNID="+UNID;
location.href=Url;
return ;
}
}
else
{
var href=window.top.location.href;
var indexOfUNID=href.indexOf("UNID");
var Url="";
if(indexOfUNID>=0)
{
Url=href.substr(0,indexOfUNID);
window.top.document.URL=Url;
}
}

在框架集默认首页(FmForumNav)判断如果包含帖子的参数则自动加载帖子内容:
//获取框架参数跳转
if(window.top!=window)
{
var UNID=window.top.location.href;
var indexOfUNID=UNID.indexOf("UNID");
var BaseUrl="";
var Url="";
if(indexOfUNID>=0)
{
UNID=UNID.substr(indexOfUNID+5);
var href=location.href;
var indexOfDb=href.toLowerCase().indexOf(".nsf");
if(indexOfDb>=0)
{
BaseUrl=href.substring(0,indexOfDb+4);
Url=BaseUrl+"/0/"+UNID+"?OpenDocument";
location.href=Url;
}
}
}

posted on 2019-05-05 11:32  凉山东东  阅读(191)  评论(0编辑  收藏  举报

导航