查找url里面的flag元素判断操作

本文详细解析了JavaScript中如何通过location.search获取URL参数,并通过解析这些参数来设置页面加载时的特定行为,例如设置页面加载时的flag标志。

 

    var search = location.search.substr(1),
flag = 0,
arr = search.split('?');
if (arr && arr.length > 0) {
for (var i = 0, len = arr.length; i < len; i++) {
var item = arr[i].split('=');
if (item[0] === 'flag') {
flag = parseInt(item[1],10);
break;
}
}
}

转载于:https://www.cnblogs.com/jinbiao/archive/2011/12/21/2295588.html

```markdown ## 代码概述 该文件是一段嵌入在网页中的 JavaScript 脚本,主要功能是通过解析 URL 查询参数(`who`、`date`、`where`),判断用户输入的条件是否满足特定要求,若满足则在页面上显示隐藏的 flag 信息。同时,脚本会动态修改页面中 `.message` 元素的文本内容和样式。 --- ## 代码解析 ```javascript // 解析 URL 中的查询参数 const urlParams = new URLSearchParams(window.location.search); const who = urlParams.get("who"); // 获取 'who' 参数 const date = urlParams.get("date"); // 获取 'date' 参数 const loc = urlParams.get("where"); // 获取 'where' 参数 // 获取页面上的消息元素 const messageEl = document.querySelector(".message p"); // 判断是否满足全部条件:who=mitsuka, date=2013-10-04, where=Itomago if (who === "mitsuha" && date === "2013-10-04" && loc === "Itomago") { messageEl.textContent = "FLAG{t3tr1s_k1t3_m1tsuh4_h4ruh1k0}"; // 显示 flag messageEl.style.color = "#ff69b4"; messageEl.style.fontSize = "1.8em"; messageEl.style.fontWeight = "bold"; } // 若只满足 who 和 date 条件,则提示缺少地点 else if (who === "mitsuha" && date === "2013-10-04") { messageEl.textContent = "你很接近了,但还差个地点"; } // 若仅满足 who 条件 else if (who === "mitsuha") { messageEl.textContent = "你是三叶,但还未到那天"; } else { messageEl.textContent = ""; // 其他情况清空内容 } ``` > **注意**:原文本中存在多处拼写错误(如 `querybelector`、`rontweignt`、`whe Pn-vvy r-mm-ad` 等),已根据上下文修复为正确语法。 --- ## 操作步骤 1. **准备 URL 参数** 构造一个符合要求的 URL 查询字符串: ``` ?who=mitsuha&date=2013-10-04&where=Itomago ``` 2. **访问带有参数的页面** 将上述参数附加到目标网页地址后,例如: ``` http://example.com/page.html?who=mitsuha&date=2013-10-04&where=Itomago ``` 3. **查看页面反馈** 页面中的 `<p class="message">` 元素将显示如下内容: $$ \text{FLAG}\{t3tr1s\_k1t3\_m1tsuh4\_h4ruh1k0\} $$ 并以粉色、加粗、大字体呈现。 4. **调试建议(可选)** 打开浏览器开发者工具(F12)→ 控制台(Console),可手动测试: ```js window.location.search = "?who=mitsuha&date=2013-10-04&where=Itomago"; // 刷新或重新执行脚本 ``` --- ## 知识点 ### 1. `URLSearchParams` API 用于解析 URL 查询字符串,提取键值对。常用于获取 `?key=value` 类型参数。 ### 2. `document.querySelector()` DOM 方法,根据 CSS 选择器查找页面元素,用于动态操作内容或样式。 ### 3. 条件判断逻辑(if-else) 通过布尔表达式控制程序流程,实现不同输入下的分支响应。 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值