You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript搜索系统异常:搜索Youtube却跳转音乐页面求助

问题分析与修复方案

我一眼就看出问题出在哪了——你的条件判断写法有误,而且还没正确获取输入框的值,这才导致输入"youtube"时也跳转到音乐页面。

核心问题拆解

  • 逻辑条件写法错误:你写的if(hfrrfsunehdsurhmurh == "music" || "MUSIC" || "Music")存在逻辑漏洞。在JavaScript中,"MUSIC"这种非空字符串会被直接解析为布尔值true,所以这个条件等价于if(任意值 || true || true),不管输入什么都会触发第一个分支。
  • 未正确获取输入值:你直接使用变量名hfrrfsunehdsurhmurh,但这个变量并没有关联到输入框的内容,必须通过DOM API获取输入框的value属性。

修正后的完整代码

JavaScript部分

function Searchprocessor() {
  // 获取输入框内容并统一转为小写,简化大小写匹配
  const searchInput = document.getElementById('hfrrfsunehdsurhmurh').value.toLowerCase();
  
  if (searchInput === 'music') {
    window.location.replace('search_results/search_music.html');
  } else if (searchInput === 'youtube') {
    window.location.replace('https://www.youtube.com');
  }
}

HTML部分(补充触发按钮)

<img style="position:absolute; top:0px; right:670px;" src="images/t.png" height="100">
<input type="text" id="hfrrfsunehdsurhmurh" style="position:absolute; top:110px; right:650px;" placeholder="Search something">
<!-- 添加搜索按钮,点击触发搜索逻辑 -->
<button onclick="Searchprocessor()" style="position:absolute; top:110px; right:550px;">搜索</button>

优化说明

  • 把输入值转为小写后,无需再逐个判断"MUSIC"、"Music"等大小写变体,代码更简洁。
  • 使用严格相等运算符===,避免隐式类型转换带来的意外问题。
  • 明确获取输入框的value,确保逻辑基于用户实际输入的内容。

内容的提问来源于stack exchange,提问作者Aagney

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:15:27