我怎么能这样做呢:

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

当前回答

您需要添加href属性并检查indexOf而不是contains

< script src = " https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js " > < /脚本> <脚本type = " text / javascript”> $(文档)时函数(){ if (window.location. ref. indexof ("franky") > -1) { 提示("您的url包含名称franky"); } }); > < /脚本

其他回答

文档。URL应该给你URL和

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

您需要添加href属性并检查indexOf而不是contains

< script src = " https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js " > < /脚本> <脚本type = " text / javascript”> $(文档)时函数(){ if (window.location. ref. indexof ("franky") > -1) { 提示("您的url包含名称franky"); } }); > < /脚本

试试这个:

<script type="text/javascript">             
    $(document).ready
    (
        function () 
        { 
            var regExp = /franky/g;
            var testString = "something.com/frankyssssddsdfjsdflk?franky";//Inyour case it would be window.location;
            if(regExp.test(testString)) // This doesn't work, any suggestions.                 
            {                      
                alert("your url contains the name franky");                 
            }             
        }
    );         
</script> 

regex方式:

var matches = !!location.href.match(/franky/); //a boolean value now

或者在一个简单的陈述句中你可以用:

if (location.href.match(/franky/)) {

我用这个测试网站是在本地运行还是在服务器上运行:

location.href.match(/(192.168|localhost).*:1337/)

它检查href是否包含192.168或localhost AND,后面跟着:1337。

如您所见,当条件变得有点棘手时,使用regex比其他解决方案更有优势。

你可以像这样使用indexOf:

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

还要注意字符串的href,否则你会这样做:

if(window.location.toString().indexOf("franky") != -1){....}