JavaScript 浏览器导航栏事件

标签 javascript jquery html

我想阻止用户导航到未通过 html 元素访问的 URL。示例:

实际导航:myweb.com/news

我想导航到 myweb.com/news?article_id=10通过在浏览器导航栏中写入此内容以避免按下任何元素(如 <a> )。

当用户写入 myweb.com/news?article_id=10 时在浏览器 url 中,在他按下 enter 的那一刻,浏览器不应允许他导航到该 url。

我试过:

//This wont work since jquery does not support it
$(window.location.href).on('change', function() {
    //Here check if href contains '?'
    alert("Not allowed");
});

//Neither works, doesnt do anything
$(window).on('change', function() {
    alert("Not allowed");
});

引用资料: 这里有类似的问题 On - window.location.hash - Change? ,但我对该问题的“参数”版本感兴趣。

最佳答案

有一些已知的解决方案:

  • ) 每次用户单击链接时,您都会将页面值保存到 cookie 中。 稍后,在服务器上 - 您检查该间隔(value-1 ... value+1)。

  • ) 您还可以保存到隐藏字段并在服务器中检查该值。

假设用户在第 3 页。(服务器提供该页面 - 因此存在值为 3 的 cookie/隐藏值)

现在他试图转到第 10 页:

您 - 在服务器端 - 读取 cookie + 请求的页码。如果间隔大于 1 - 则您拒绝该请求。

关于JavaScript 浏览器导航栏事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30434153/

相关文章:

javascript - Pick CSS for IE8 可在模拟器中运行但不能直接在 IE8 上运行

javascript - 如何为 Owl Carousel 2 创建进度条?

javascript - 无需点击即可调用函数

javascript - 如何检测选择了dom上的哪个级别

javascript - 为什么 .html() 在用于相同目的时比 .text() 快得多?

javascript - 获取事件内部发送的信息(event.data)JQuery/Websocket

html - 视频结束后恢复为海报图像

javascript - 将带有 HTML 实体的字符串作为 prop 传递,未在 Material UI 中正确呈现

javascript - 在(桌面)浏览器中引用内置全局属性 X 时应该写 window.X 吗?

Python 和 HTML 表格