如果URL具有哈希值,则强制Firefox和Edge重新加载页面

如果URL具有哈希值并且用户按下地址栏中的Enter键(例如Chrome一样),是否有任何方法可以强制FF和Edge这样的浏览器重新加载页面? 或者在这种情况下也许我们可以处理一些JS事件?

P.S。我不能使用load hashchange事件,因为如果用户两次按Enter键-hashchange事件将不会触发。

P.S.S。弄清楚popstate是在这种情况下最适合MS Edge的事件。

sml11111 回答:如果URL具有哈希值,则强制Firefox和Edge重新加载页面

如果单击Enter按钮,则可以尝试监听Keydown事件,方法是使用window.location.hash检查url是否具有哈希值,然后使用location.reload()方法重新加载网页。

代码如下:

    window.addEventListener('hashchange',function () {
        console.log('The hash has changed!')
    },false);

    window.addEventListener("keydown",function (e) {
        if (e.keyCode == "13") {
            if (window.location.hash) {
                // Fragment exists
                alert("hashed");
                location.reload();
            } else {
                // Fragment doesn't exist
                alert("not exist");
            }
        }
    },false);
本文链接:https://www.f2er.com/3138522.html

大家都在问