如何用JavaScript检测网页游戏页面是否通过浏览器地址栏访问并跳转(不使用onload)
JavaScript实现网页游戏页面防直接地址栏访问方案
核心逻辑说明
- 利用
document.referrer属性判断访问来源:用户直接在地址栏输入URL、通过书签打开页面时,该属性值为空 - 检测代码直接嵌入
<head>标签内解析执行,无需绑定onload事件,满足执行时机要求 - 匹配到直接访问场景时立即执行重定向,无需等待页面资源加载完成
完整代码示例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>游戏页面</title> <!-- 防直接访问检测逻辑,无需绑定onload事件 --> <script> // 无来源代表是直接地址栏输入/书签打开等场景 if(document.referrer === '') { // 替换为你的指定跳转页面地址 window.location.replace('/official-home.html'); // 使用location.replace可以避免当前页被加入访问历史,用户点后退不会回到游戏页 } </script> </head> <body> <!-- 你的游戏页面原有内容 --> </body> </html>
补充说明
- 如果需要支持用户从搜索引擎搜索结果跳转进入,仅拦截纯地址栏输入的场景,可修改判断逻辑,排除referrer包含搜索引擎域名的情况
- 纯前端方案存在被绕过的可能,对安全性要求高的场景建议搭配后端校验,比如要求访问必须携带指定的来源校验参数
内容的提问来源于stack exchange,提问作者user16308564
相关产品推荐
相关产品推荐

