页面处于激活状态时调用Js方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面处于激活状态时调用Js方法相关的知识,希望对你有一定的参考价值。

我要的效果就是 打开了某个页面,还有其他很多页面,当这个页面处于激活状态时,就刷新一下,就是这个看到这个页面的时候刷新一下

用js调用页面处于激活状态时用function函数调用,在调用的body后加上window.onload方法来实现刷新。
一、用JS方法
1.最简单的调用方式,直接写到html的body标签里面:

<body onload="myfunction()">

<html> <body onload="func1();func2();func3();"> </body> </html>

2.在JS语句调用:

<script type="text/javascript">

function myfun()

   alert("this window.onload");      //*用window.onload调用myfun()*//

window.onload = myfun;//不要括号

</script>
参考技术A 设想下:你在激活页面打开另一个链接时候,设置一个session值,当另一个页面被关闭的时候注销这个session值,在激活的页面加个setsetInterval(),来定时的查看这个session值,如果发现这个session为空或被注销,就location.href激活页面。自己试试下追问

主要是 怎么判断该窗口是激活状态
不要说是 focus哈 那样的话 会一直刷新
我要的效果是 窗口处于激活状态时 刷新一次 还有 这个 不用session ,html页面 无法读取session

参考技术B 如果是iframe的话这个页面加载的时候 刷新onload追问

不是iframe是直接打开一个超链接,
原来那个页面弹了一个层 显示任务列表
点击任务 就打开一个页面
任务完成后
任务列表的任务就自动消失

追答

那你用ajax对这个页面进行检测,如果任务完成就关闭弹出的层

参考技术C onunload?追问

这是退出的时候的事件嘛 我要的是 比如打开了A页面,然后在A页面点了一个超链接打开了B页面 要的效果就是B页面关闭时(切换到A页面时) A页面刷新一次

追答

关闭B页面的时候调用js window.opener.location.reload(true);
你是通过window.open 打开的
要是通过href打开就是 window.parent.location.reload(true);

用js判断页面刷新或关闭的方法

onbeforeunload与onunload事件

Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。

  Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到。

页面加载时只执行onload
页面关闭时先执行onbeforeunload,最后onunload
页面刷新时先执行onbeforeunload,然后onunload,最后onload。

1、onbeforeunload事件:
  说明:目前三大主流浏览器中firefox和IE都支持onbeforeunload事件,opera尚未支持。
  用法:
   ·object.onbeforeunload = handler
   ·<element onbeforeunload = “handler” … ></element>
  描述:
   事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。handler可以设一个返回值作为该对话框的显示文本。

  触发于:
   ·关闭浏览器窗口
   ·通过地址栏或收藏夹前往其他页面的时候
   ·点击返回,前进,刷新,主页其中一个的时候
   ·点击 一个前往其他页面的url连接的时候
   ·调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
   ·当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。
   ·重新赋予location.href的值的时候。
   ·通过input type=”submit”按钮提交一个具有指定action的表单的时候。
  可以用在以下元素:
   ·BODY, FRAMESET, window
  平台支持:
   IE4+/Win, Mozilla 1.7a+, Netscape 7.2+, Firefox0.9+
  示例:
   <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
   <title>onbeforeunload测试</title>
   <script>
   function checkLeave(){
         event.returnValue="确定离开当前页面吗?";
   }
   </script>
   </head>
   <body onbeforeunload="checkLeave()">
   </body>
   </html>

2、onunload事件
  用法:
   ·object.onbeforeunload = handler
   ·<element onbeforeunload = "handler"></element>

  描述:
   当用户关闭一个页面时触发 onunload 事件。

  触发于:
   ·关闭浏览器窗口
   ·通过地址栏或收藏夹前往其他页面的时候
   ·点击返回,前进,刷新,主页其中一个的时候
   ·点击 一个前往其他页面的url连接的时候
   ·调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
   ·当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。
   ·重新赋予location.href的值的时候。
   ·通过input type=”submit”按钮提交一个具有指定action的表单的时候。
  示例:
   <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
   <title>onunload测试</title>
   <script>
   function checkLeave(){
         alert("欢迎下次再来!");
   }
   </script>
   </head>
   <body onunload="checkLeave()">
   </body>
   </html>

一个判断页面是否真的关闭和刷新的好方法:

window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
     alert("你关闭了浏览器");
}else{
     alert("你正在刷新页面");
}
}
这段代码就是判断触发onbeforeunload事件时,鼠标是否点击了关闭按钮,或者按了ALT+F4来关闭网页,如果是,则认为系统是关闭网页,否则在认为系统是刷新网页。





































































以上是关于页面处于激活状态时调用Js方法的主要内容,如果未能解决你的问题,请参考以下文章

怎么在页面加载时调用action中的方法

用js判断页面刷新或关闭的方法

js监听当前页面是否处于浏览状态

设备处于睡眠状态时调用 didReceiveApplicationContext?

利用Vue中keep-alive,快速实现页面缓存

JS弹窗提交关闭后,刷新父页面 在线等 急!!!