Поэтому в основном, я хочу только вызвать какой-то скрипт, если URL-адрес не равен blogs.html
Например, эти параметры НЕ должны вызывать скрипт:
mydomains.com/blogs
mydomains.com/blogs.html
Эти параметры должны вызывать скрипт:
mydomains.com/blogs/child-page.html
mydomains.com/blogs/another-page
mydomains.com/blogs.html/testin-page.html
mydomains.com/page.html
mydomains.com
Я попытался что-то вроде этого, хотя он, похоже, не работает, поскольку blogs.html
и blogs
все еще находятся в URL-адресе.
if(!document.URL.indexOf("blogs.html") >= 0 && !document.URL.indexOf("blogs") >= 0)
{
other script here
}
Есть ли способ, которым я могу это исправить?
Сначала введите имя пути, затем используйте метод подстроки, чтобы получить все после последнего "/".
var pathName = window.location.pathname;
var pageName = pathName.substr( pathName.lastIndexOf("/") + 1 );
if( pageName != "blogs.html" && pageName != "blogs" ) {
// do something.
}
if(!document.URL.endsWith("blogs.html"))
{
// code here
}
string имеет endWith() методы для достижения этой цели
или используйте регулярное выражение: $
if(!document.URL.search(/(blogs.html)$/) != -1)
// return -1 means a string is not end with blogs.html
{
// code here
}