我怎么能这样做呢:

<script type="text/javascript">
$(document).ready(function () {
    if(window.location.contains("franky")) // This doesn't work, any suggestions?
    {
         alert("your url contains the name franky");
    }
});
</script>

当前回答

使用Window.location.href获取javascript格式的url。这是一个 属性,该属性将告诉您浏览器的当前URL位置。 将属性设置为其他内容将重定向页面。

if (window.location.href.indexOf('franky') > -1) {
     alert("your url contains the name franky");
}

其他回答

变得更容易

<script type="text/javascript">
$(document).ready(function () {
    var url = window.location.href;
    if(url.includes('franky'))    //includes() method determines whether a string contains specified string.
    {
         alert("url contains franky");
    }
});
</script>

试试这个,它更短,工作完全像window.location.href:

if (document.URL.indexOf("franky") > -1) { ... }

如果你想检查之前的URL:

if (document.referrer.indexOf("franky") > -1) { ... }

如果将字符串转换为小写或大写,这将是一个很好的实践,因为indexof()方法是区分大小写的。

这将是如果你的搜索不区分大小写,你可以简单地使用indexOf()方法,而不将原始字符串转换为小写或大写:

var string= location.href;
var convertedString= string.toLowerCase();

if(convertedString.indexOf('franky') != -1)
{
    alert("url has franky");
}
else
{
    alert("url has no franky");
}

假设您有这个脚本

<div>
  <p id="response"><p>
  <script>
    var query = document.location.href.substring(document.location.href.indexOf("?") + 1);
    var text_input = query.split("&")[0].split("=")[1];
    document.getElementById('response').innerHTML=text_input;
  </script> </div>

url表单是www.localhost.com/web_form_response.html?text_input=stack&over=flow

写入<p id="response">的文本将被堆叠

放入你的js文件

                var url = window.location.href;
                console.log(url);
                console.log(~url.indexOf("#product-consulation"));
                if (~url.indexOf("#product-consulation")) {
                    console.log('YES');
                    // $('html, body').animate({
                    //     scrollTop: $('#header').offset().top - 80
                    // }, 1000);
                } else {
                    console.log('NOPE');
                }