我怎么能这样做呢:

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

当前回答

相反,我喜欢这种方法。

top.location.pathname.includes('franky')

它在很多情况下都有效。

其他回答

if (window.location.href.indexOf("franky") != -1)

会这么做的。或者,你可以使用regexp:

if (/franky/.test(window.location.href))

窗口。location不是String,但它有toString()方法。所以你可以这样做:

(''+window.location).includes("franky")

or

window.location.toString().includes("franky")

从旧的Mozilla文档:

位置对象有一个toString 方法返回当前URL。你 也可以将字符串赋值给 window.location。这意味着你 可与窗口工作。位置就好像它 在大多数情况下都是字符串。 有时候,比如当你需要的时候 调用一个String方法,你 必须显式调用toString。

我喜欢创建一个布尔值,然后在逻辑if中使用它。

//kick unvalidated users to the login page
var onLoginPage = (window.location.href.indexOf("login") > -1);

if (!onLoginPage) {
  console.log('redirected to login page');
  window.location = "/login";
} else {
  console.log('already on the login page');
}

窗口位置是一个包含多个方法和道具的对象,其中一些是与URL相关的字符串,这样你就可以安全地搜索目标字符串:

const href = location.href;
// "https://stackoverflow.com/questions/4597050/how-to-check-if-the-url-contains-a-given-string"

// another option 
const pathname = location.pathname;
// "/questions/4597050/how-to-check-if-the-url-contains-a-given-string"

// search for string safely
pathname.includes("questions"); // true
href.includes("questions"); // true

位置对象

文档。URL应该给你URL和

if(document.URL.indexOf("searchtext") != -1) {
    //found
} else {
    //nope
}