How to catch a "website refresh" before it refreshes the site
There is not really a way this can be reliably be done across all browsers.
Some information in this context:
It is OK if it only works on Chrome but where to put the javascript in my My delphi code
You could try to add an event handler to form.OnBeforeUnload
Just checking incase there is something built into WebCore now?
Since, as I already informed here, there is no universal solution for this, we haven't implemented something so far.
For others, this is working for me so far. If I find a browser that doesn't work, I will have to find a solution for it too, if I can. In my case, the webapp is only used internally by the company employees, so the browser choice is not that wide.
class procedure THtml.Prevent_Refresh;
begin
asm
document.addEventListener("keydown", function (event)
{
if (event.key === "F5" || (event.ctrlKey && event.key === "r"))
{
event.preventDefault();
}
});
end;
end;
class procedure THtml.Warn_Tab_Close;
begin
asm
window.addEventListener("beforeunload", function (event)
{
event.preventDefault();
event.returnValue = "";
});
end;
end;
@Rohit, to clarify, the above code suppresses the down swipe page refresh? Pardon my ignorance, but where do you place this code and how is it conditionally activated? I want the down swipe to work on the main form, but be inhibited when a pop-up is active.