1

无法获得pagehidepageshow工作

<script>
    console.log( 'adding pagehide / pageshow' );
    window.addEventListener( 'pagehide', function() { console.log( 'page hide' ); } );
    window.addEventListener( 'pageshow', function() { console.log( 'page show' ); } );
</script>

获取控制台消息

adding pagehide / pageshow

但是当移动到不同的选项卡或应用程序之间时,pagehide似乎pageshow不会触发。

99% 确定我很愚蠢,但看不出哪里出了问题

4

1 回答 1

3

移动到不同的选项卡或应用程序会触发blurandfocus侦听器,而不是pagehideorpageshow侦听器。例如:

console.log( 'adding blur / focus' );
window.addEventListener( 'blur', function() { console.log( 'blur' ); } );
window.addEventListener( 'focus', function() { console.log( 'focus' ); } );

应该管用。

于 2013-03-08T03:23:15.810 回答