Как получить URL страницы в JavaScript и вызвать скрипт?

0

Поэтому в основном, я хочу только вызвать какой-то скрипт, если 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
}

Есть ли способ, которым я могу это исправить?

  • 0
    Есть ли причина, по которой вы должны использовать JS, чтобы сделать это?
  • 0
    Если вы согласны с использованием плагина для этого; есть отличный Вы можете проверить это. JS-URL
Показать ещё 3 комментария
Теги:

2 ответа

1
Лучший ответ

Сначала введите имя пути, затем используйте метод подстроки, чтобы получить все после последнего "/".

var pathName = window.location.pathname;
var pageName = pathName.substr( pathName.lastIndexOf("/") + 1 );

if( pageName != "blogs.html" && pageName != "blogs" ) {
    // do something.
}
  • 0
    Работал отлично! Спасибо :)
  • 0
    Рад, что смог помочь!
1
if(!document.URL.endsWith("blogs.html"))
{ 
 // code here
}

string имеет endWith() методы для достижения этой цели

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FString%2FendsWith

или используйте регулярное выражение: $

if(!document.URL.search(/(blogs.html)$/) != -1) 
// return -1 means a string is not end with blogs.html
{ 
 // code here
}

http://jsfiddle.net/rchMe/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню