页面跳转如何进入一个嵌套在Iframe中的页面中

场景:界面NewsView.aspx嵌套在NewsCenterFrame.aspx中的Iframe中

<iframe src="NewsView.aspx" runat="server" width="749" height="93%" frameborder="0" scrolling="yes"name="frame_right" id="frame_right"></iframe>

 

如何从外部新闻链接中打开NewsView.aspx界面而且确保它打开后还是嵌套在NewsCenterFrame.aspx,如果链接本身就是在NewsCenterFrame.aspx中那当然万事大吉,直接用target="frame_right"就行了,可如果不是呢,打开的结果则只是NewsView.aspx。

我解决这个问题的思路是在NewsView.aspx和NewsCenterFrame.aspx上面解决,不去改动链接。

NewsView.aspx:

       $(document).ready(function () {
            if (self.frameElement == null) {  //判断当前界面是否在iframe中
                var thisSLoc = self.location.href;  //获取当前界面的url全路径
                var tmpUPage = thisSLoc.split("/");
                var thisUPage = tmpUPage[tmpUPage.length - 1];//获取当前页面的页面名+所有参数
                window.location.href = "NewsCenterFrame.aspx?" + thisUPage;//打开要嵌入的父页面
            }
            else {
                $("#form1").css("display","inline");//让页面不显示,因为是先执行后台代码的,为了让页面再跳转的过程中NewsView.aspx的内容不显示,先把Form1隐藏掉,如果判断它已经在Iframe中则将它显示出来
            }
        })

 

NewsCenterFrame.aspx:

        $(document).ready(function () {
            var thisSLoc = self.location.href;
            var firstindex = thisSLoc.indexOf("?");

            var frameurl = thisSLoc.substring(firstindex + 1, thisSLoc.length);
            $("#frame_right").attr("src", frameurl);
        })

 

 

posted @ 2012-12-10 13:40  轻拍水面  阅读(8131)  评论(0编辑  收藏  举报