首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript搜索系统无法工作-打开的链接与我想要的链接不同

JavaScript搜索系统无法工作-打开的链接与我想要的链接不同
EN

Stack Overflow用户
提问于 2020-12-30 22:12:55
回答 2查看 38关注 0票数 0

我在JS中添加了一个搜索系统到我的网站,但它出了问题。当“音乐”这个词是搜索栏中的文本时,我做了一个if语句来打开我网站上的另一个文件。我还做了另一个if语句,在搜索youtube时打开youtube.com。但是,当我搜索youtube时,它会打开搜索是音乐时要打开的文件。没有错误。这是if语句的JS代码和搜索栏的HTML代码:

代码语言:javascript
复制
     <script>
            function Searchprocessor() {
if(hfrrfsunehdsurhmurh == "music" || "MUSIC" || "Music" ){
    window.location.replace("search_results/search_music.html");
}
else if(hfrrfsunehdsurhmurh == "Youtube" || "YOUTUBE" || "youtube" || "YouTube"){
    window.location.replace("https://www.youtube.com");
}
            }
        </script>

        <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">

请帮我把它修好。

EN

回答 2

Stack Overflow用户

发布于 2020-12-30 22:14:22

您必须始终重复要比较的变量:

代码语言:javascript
复制
if(hfrrfsunehdsurhmurh === "music" || hfrrfsunehdsurhmurh === "MUSIC" || hfrrfsunehdsurhmurh === "Music" ){
        window.location.replace("search_results/search_music.html");
}else if(hfrrfsunehdsurhmurh === "Youtube" || hfrrfsunehdsurhmurh === "YOUTUBE" || hfrrfsunehdsurhmurh === "youtube" || hfrrfsunehdsurhmurh === "YouTube"){
        window.location.replace("https://www.youtube.com");
}

如何建议@Ian为了最小化和加速代码,最好将代码全部小写/大写:

代码语言:javascript
复制
if(hfrrfsunehdsurhmurh.toLowerCase() === "music"){
  window.location.replace("search_results/search_music.html");
}else if(hfrrfsunehdsurhmurh.toLowerCase() === "youtube"){
  window.location.replace("https://www.youtube.com");
}
票数 0
EN

Stack Overflow用户

发布于 2020-12-30 22:21:10

除了@Simone之外的另一种解决方案是检查数组是否包含变量值

代码语言:javascript
复制
if( ["music","MUSIC","Music"].includes(hfrrfsunehdsurhmurh) ){
        window.location.replace("search_results/search_music.html");
}else if( ["Youtube","YOUTUBE","youtube","YouTube"].includes(hfrrfsunehdsurhmurh) ){
        window.location.replace("https://www.youtube.com");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65508342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档