我有以下代码,我想使该函数在包含“博客”的任何URL上起作用,而不是在特定的URL上起作用。请使用正确的语法帮助我,谢谢。
window.setTimeout(function() {
if (window.location.pathname != '/home/legal-documentation' &&
window.location.pathname != '/home/blog/australian-business-news'
) {
erOpenLoginRegisterbox(jQuery);
}
return false;
}, 1000);
答案 0 :(得分:1)
您要寻找的是Regular Expression。这些用于匹配字符的特定组合,在这种情况下,您可以使用String.prototype.match()
来使用此RegEx查找包含单词“ blog”的字符串:
/blog/gi
或者,在您的函数中:
window.setTimeout(function() {
if (window.location.pathname.match(/blog/gi)) {
erOpenLoginRegisterbox(jQuery);
}
return false;
}, 1000);
答案 1 :(得分:0)
我认为您正在寻找export class MyComponent implements AfterViewInit {
private control: FormControl;
constructor(
private injector: Injector,
) { }
// The form control is only set after initialization
ngAfterViewInit(): void {
const ngControl: NgControl = this.injector.get(NgControl, null);
if (ngControl) {
this.control = ngControl.control as FormControl;
} else {
// Component is missing form control binding
}
}
}
:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf如果 not 找不到要传递的字符串,它将返回-1,因此测试-1似乎可以与您的方法相关。此外,为了安全起见,如果您还希望以不区分大小写的方式排除博客(换句话说,您要测试Blog,博客,BLOG等),则我将路径名称为是大写(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase),然后将其与“ BLOG”进行比较
indexOf