我怎么能这样做呢:
<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>
我怎么能这样做呢:
<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>
当前回答
窗口位置是一个包含多个方法和道具的对象,其中一些是与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
位置对象
其他回答
可以使用javascript字符串方法进行匹配
Const url = window.location.href; Const find = 'questions'; Const found = url.match(find); console.log (url); If (found !== null && found[0] === find){ console.log('你在问题页面'); }其他{ console.log('您不在问题页面'); }
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){....}
您需要添加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"); } }); > < /脚本
试试这个,它更短,工作完全像window.location.href:
if (document.URL.indexOf("franky") > -1) { ... }
如果你想检查之前的URL:
if (document.referrer.indexOf("franky") > -1) { ... }