您的位置 >>> 星想互联 >>> 编程技术 >>> JQUERY+JS
JS实现各种级别直接的页面跳转@刷新页面@框架集的综合案例
点击数:256  发布时间2018-08-22 09:14:14


js在iframe中打开指定连接

window.frames['index-frame'].location.href = url

js在页面加载完成后打开指定的连接,放在页面尾部

$(document).ready(function(){

 window.frames['iframe-Id'].location.href = url;    

 }) 

1.跳到另一个页面的两种方法:

window.location.href = '1.html'
window.location.reload('11.html')

2.如果使用了框架,但是又想跳到一个页面,而不是在框架指定的页面显示,如何操作?
parent.document.location.href="./frontstage/login.jsp";

3.用JavaScript刷新上级页面和当前页面
window.parent.main.document.location.reload();//上级页面
document.location.reload();//当前页面

4.每个frame元素或者iframe元素就是一个框架,这个框架是一个窗口,在这个窗口中加载一个html文档.使用下面的几种方法都可以引用frame或iframe元素:
window.frames[index]
windows.frames["框架名"]
windows.框架名

6.如果想从框架所加载的网页中获取对父窗口的引用,那么就可以使用下面的方法:
window.parent

7.如果要对父窗口中某个框架的引用,那么就可以使用下面的方法:
window.parent.框架名

也可以使用下面的方法获取对父窗口的最顶端框架的引用:
window.top

8.html 如何将新的网页文件在框架Frame中打开
   第一种方法为: window.open('Url',MainFrame,'width=......,height=....'); 
其中:Url :需要打开的页面; MainFrame :装载(包含)这个页面的框架 ; width=......,height=....:页面的风格设置
   另外一种方法为: MainFrame.document.location = "Url"; 即直接指定MainFrame的url指向为 某个url。 
当然类似的也可以用 document.getElementById("MainFrame").src = "Url";
第一种方法是被动式的指定某个页面要加载到哪个框架内; 后两种方法主动的设置框架将要加载哪个页面

9.html实例参考参考:(这个实例是左右框架结构);这种打开方式只用frame的name 属性即可 指定打开位置
_blank 在新的浏览器窗口中打开链接的文档,同时保持当前窗口不变。
_parent 在显示链接的框架的父框架集中打开链接的文档,同时替换整个框架集。
_self 在当前框架中打开链接,同时替换该框架中的内容。
_top 在当前浏览器窗口中打开链接的文档,同时替换所有框架。

1.主框架页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<frameset rows="*" cols="138,*" framespacing="1" frameborder="yes"
 border="1" bordercolor="#000000">
 <frame src="left.html" name="leftFrame" scrolling="No"
  noresize="noresize" id="leftFrame" />  <frame src="right.html"
  name="mainFrame" id="mainFrame" />
</frameset>
<noframes>
 <body></body>
</noframes>
</html>

2。左框架页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body link="black" vlink="olive" alink="blue">
 <p>
  <a href="我的首页.html" target="mainFrame">我的首页</a>
 </p>
 <p>
  <a href="我的日记.html" target="mainFrame">我的日记</a>
 </p>
</body>
</html>

3.右框架页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body></body>

</html>


一、JS方式的页面跳转
1.window.location.href方式
    <script language="JavaScript" type="text/javascript">
           window.location.href="top.jsp";
    </script>

注意如果top.jsp中有iframe标签,则top.jsp页面将会在iframe中被打开。

2.window.loction.replace方式实现页面跳转,注意跟第一种方式的区别
<script language="javascript">
    window.location.replace("http://www.dayanmei.com");
</script>
有3个jsp页面(a.jsp, b.jsp, c.jsp),进系统默认的是a.jsp ,当我进入b.jsp的时候, b.jsp里面用window.location.replace("c.jsp");与用window.location.href ="c.jsp";从用户界面来看是没有什么区别的,但是当c.jsp页面有一个"返回"按钮,调用window.history.go(-1); wondow.history.back();方法的时候,一点这个返回按钮就要返回b.jsp页面的话,区别就出来了,当用 window.location.replace("c.jsp");连到c.jsp页面的话,c.jsp页面中的调用 window.history.go(-1);wondow.history.back();方法是不好用的,会返回到a.jsp 。

3.self.location方式实现页面跳转,和下面的top.location有小小区别
   <script language="JavaScript">
          self.location='top.htm';
   </script>
4.top.location
   <script language="javascript">
          top.location='xx.jsp';
   </script>
5.不推荐这种方式跳转
    <script language="javascript">
    window.history.back(-1);
   </script>

6.页面自动刷新:把如下代码加入<head>区域中 <meta http-equiv="refresh" content="20"> 其中20指每隔20秒刷新一次页面.

7.<a href="javascript:history.go(-1)">返回上一步</a>

8.<a href="<%=Request.ServerVariables("HTTP_REFERER")%>">返回上一步</a>

9.<a href="javascript:" onClick="window.open('http://hi.baidu.com/630270730','','height=500,width=611,scrollbars=yes,status=yes')">打开新窗口</a>

10..window.history.forward()返回下一页

11. window.history.go(返回第几页,也可以使用访问过的URL)

二、iframe中页面跳转

1.iframe页面跳转:

"window.location.href"、"location.href"是本页面跳转

"parent.location.href"是上一层页面跳转

"top.location.href"是最外层的页面跳转

例:如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写

"window.location.href"、"location.href":D页面跳转

"parent.location.href":C页面跳转

"top.location.href":A页面跳转 

2.iframe中的target

如果D页面中有form的话,  form提交后D页面跳转

<form target="_blank">:  form提交后弹出新页面

<form target="_parent">:  form提交后C页面跳转

<form target="_top"> :  form提交后A页面跳转


三.iframe页面刷新

D 页面中这样写:"parent.location.reload();": C页面刷新  

(当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )

"top.location.reload();": A页面刷新
window.location.href = window.location.href 也可以实现页面刷新,它与reload的区别是:如果在reload之前想服务器提交过数据,那么执行reload会重新执行这个提交操作。 而window.location.href = window.location.href 则不会,因为它是重新进入页面。

//子窗口刷新父窗口
<script language=JavaScript>
    self.opener.location.reload();
</script>
(或<a href="javascript:opener.location.reload()">刷新</a>   )
//如何刷新另一个框架的页面用
<script language=JavaScript>
   parent.另一FrameID.location.reload();
</script>

来源:咸宁网站建设