如何在刷新时加载特定的 url?

How do I load a specific url on refresh?

假设某人决定按 F5 或浏览器的重新加载按钮。是否可以在同一选项卡中打开特定的 url?

使用这个

// To check if someone pressed f5 or leaving the page

window.onbeforeunload = function () {

    //for changing the url

    var newUrl = "http://www.someurl.com";
    window.location.href = newUrl;
}; 

this Stack Overflow answer, the ShortCut所述,库旨在处理键盘按钮事件,包括F-keys和arrow-buttons等

但是,我必须说,在人们认为他们正在刷新页面时将他们重定向到另一个页面或站点的想法不仅是不好的做法,而且容易被滥用。

如评论中所述,如果显示提示,可以使用以下 ugly hack:

var a,b;
window.onbeforeunload = function (e) {
    if (b) return;
    a = setTimeout(function () {
        b = true;
        window.location.href = "//test.com";
    }, 500);
    return "Now you will be redirected to new page if choosing to stay there...";
}
window.onunload = function () {
    clearTimeout(a);
}