onpageshow 事件

定义和用法

onpageshow 事件在用户导航到网页时发生。

onpageshow 事件与 onload 事件类似,不同之处在于它发生在页面首次加载时的 onload 事件之后。此外,每次加载页面时都会发生 onpageshow 事件,而从缓存加载页面时不会发生 onload 事件。

如需确定页面是直接从服务器加载还是缓存,您可以使用 PageTransitionEvent 对象的 persisted 属性。如果页面被浏览器缓存,则此属性返回 true,否则返回 false(请参阅下面的更多实例)。

实例

例子 1

当用户导航到网页时执行 JavaScript:

<body onpageshow="myFunction()">

亲自试一试

例子 2

查看页面是否被浏览器缓存:

function myFunction(event) { 
  alert(event.persisted);
}

亲自试一试

语法

在 HTML 中:

<element onpageshow="myScript">

亲自试一试

在 JavaScript 中:

object.onpageshow = function(){myScript};

亲自试一试

在 JavaScript 中,使用 addEventListener() 方法:

object.addEventListener("pageshow", myScript);

亲自试一试

注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法

技术细节

冒泡: 不支持
可取消: 不支持
事件类型: PageTransitionEvent
支持的 HTML 标签: <body>
DOM 版本: Level 3 Events

浏览器支持

表中的数字注明了完全支持该事件的首个浏览器版本。

事件 Chrome IE Firefox Safari Opera
onpageshow 支持 11.0 支持 5.0 支持