使用jQuery在iFrame中防止F5

Bif*_*iff 3 iframe jquery internet-explorer

我们的应用程序要求不允许用户使用F5刷新网页.

我已经在这里实现了解决方案但是我刚刚发现这在页面上的iframe中不起作用.

iframe是从telerik radeditor控件生成的.

我已经尝试在包含radeditor的页面中执行以下操作.

$(function () {
    $('#<%=RadEditor1.ClientID %>_contentIframe html').bind('keydown', function () {
        if (window.event && window.event.keyCode == 116) {
            window.event.cancelBubble = true;
            window.event.returnValue = false;
            window.event.keyCode = 0;
            window.status = "F5 is disabled on all popups";
            return false;
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我失踪的iframe有什么特别之处吗?

Bra*_*rad 5

知道您想要防止用户在页面上工作时丢失数据,我会提出一个不同的解决方案.为什么不在他们离开页面时挂钩,并提示他们是否打算这样做?

检测用户何时离开网页的最佳方法?

当邮件尚未保存/尚未发送时,Gmail会使用此方法.这将帮助您涵盖许多场景,让您的用户满意,并且如果有人愿意,仍然允许F5工作.