问题 用户单击“停止加载”按钮时发生的任何javascript事件?


我想在用户单击“停止加载”按钮(大多数浏览器中为红色X)或按键盘上的Esc时运行一些Javascript,这通常会相同。

我在这里看到了一些关于Esc按钮的问题 document.body.onkeyup,但在“停止”按钮上找不到任何覆盖鼠标的内容。


10862
2017-10-11 15:02


起源



答案:


Internet Explorer有一个 document.onstop 被触发的事件,但其他浏览器似乎不支持。请注意,当用户单击“停止”或点击Esc时会触发它,或者如果用户在页面加载期间导航到另一个页面,则会触发,这会产生相同的效果。

我不相信在其他浏览器中单击“停止”时触发事件的可靠方法。也许有可能做一些事情:保持与服务器的连接打开(如在 彗星 方法),在连接上传输某种保持活动状态,并检测流是否结束(正如我假设如果点击停止按钮那样)。


5
2017-10-11 15:17



谢谢。对于我的具体情况,我只需要支持IE,所以onstop应该可以做到这一点。 - Nilzor
那么经过进一步的测试后,似乎并不是我所需要的。导航离开您的页面时也会触发,并且只会触发一次。因此,如果序列是这样的1.导航,2。取消导航,onstop只会触发第一个事件 - 我需要的对象。 - Nilzor
当您离开时,取消加载您所在的页面。如果您然后单击停止,将取消加载新页面。我希望有两个onstop事件被解雇,但对于不同的文件。 - Jacob Mattison
是的,你可能是对的。即使新页面尚未加载。我想我会重新思考我正在尝试做的整个概念,避免对此事件的需要。 - Nilzor


答案:


Internet Explorer有一个 document.onstop 被触发的事件,但其他浏览器似乎不支持。请注意,当用户单击“停止”或点击Esc时会触发它,或者如果用户在页面加载期间导航到另一个页面,则会触发,这会产生相同的效果。

我不相信在其他浏览器中单击“停止”时触发事件的可靠方法。也许有可能做一些事情:保持与服务器的连接打开(如在 彗星 方法),在连接上传输某种保持活动状态,并检测流是否结束(正如我假设如果点击停止按钮那样)。


5
2017-10-11 15:17



谢谢。对于我的具体情况,我只需要支持IE,所以onstop应该可以做到这一点。 - Nilzor
那么经过进一步的测试后,似乎并不是我所需要的。导航离开您的页面时也会触发,并且只会触发一次。因此,如果序列是这样的1.导航,2。取消导航,onstop只会触发第一个事件 - 我需要的对象。 - Nilzor
当您离开时,取消加载您所在的页面。如果您然后单击停止,将取消加载新页面。我希望有两个onstop事件被解雇,但对于不同的文件。 - Jacob Mattison
是的,你可能是对的。即使新页面尚未加载。我想我会重新思考我正在尝试做的整个概念,避免对此事件的需要。 - Nilzor


如果它的图像仍然在页面上加载,您可以使用 onabort 要监视的事件 停止加载

监测 鼠标点击 应该是不可能的,因为它不会发生  当前的浏览窗口。


4
2017-10-11 15:17





没有任何跨浏览器的方式这样做。

但是,IE有一个特殊的事件, onstop 发生在 body 按下停止按钮时。您无法覆盖停止按钮功能(也就是说,您无法取消它),但您可以检测到它已在IE中发生。


3
2017-10-11 15:16