首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >劫持刷新键

劫持刷新键
EN

Stack Overflow用户
提问于 2010-10-14 22:32:33
回答 2查看 1.3K关注 0票数 0

问题

如何用自定义的javascript函数覆盖刷新键?顺便说一下,我用的是原型库。

为什么

我有一个视频与用户的评论在旁边。有一个按钮只能通过JS函数updateComments()刷新注释。在一些用户测试中,一些白痴拒绝使用该按钮来更新评论。相反,他们刷新了整个页面。这会导致视频重新启动,这是不可取的。我希望覆盖F5键或CTRL+R来调用updateComments(),而不是刷新页面。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-14 22:48:31

您将无法禁用浏览器按钮,这将违背一般的UI体验。一种可能的方法是检查页面是如何加载的,并向用户显示“请不要这样做来加载评论”。例如,在Google中,您可以检查页面是否已重新加载:

代码语言:javascript
复制
if (chrome.loadTimes().navigationType === 'Reload') {
  alert('Please reload comments using the magic button');
}

我不确定其他浏览器是否有类似的功能,但我怀疑在很多浏览器中会有类似的功能。

不过,通常情况下,我的建议是更改加载注释的方式。例如,Twitter搜索将定期检查新的tweet,然后显示用户可以按下的“显示X更多的tweet”按钮。

票数 2
EN

Stack Overflow用户

发布于 2010-10-14 23:40:27

我认为最好的方法是向window.onbeforeunload事件添加一个处理程序。

就像这样:

代码语言:javascript
复制
function beforeUnload() {
    if (videoIsPlaying) {
        return "Are you sure you want to stop the video?";
    }
}
window.onbeforeunload = beforeUnload;

看看这里这里的例子

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3938129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档