Различать страницы с помощью JavaScript
Мне любопытно, как заставить JavaScript различать две почти идентичные страницы, которые (насколько я могу судить) имеют одинаковые div. Примером такой страницы может быть " Домашняя страница Google против результатов поиска Google". Могу ли я в любом случае правильно определить, что есть что?
2 ответа
Начиная с HTML5, вы можете редактировать историю браузера. Например, вы можете изменить текущий URL с помощью window.history.pushState()
:
// pushState(state object, title, URL)
window.history.pushState({foo: "bar"}, "page 2", "bar.html");
Это заставляет пользователя оставаться на той же самой странице, но изменяет URL. Это происходит и в текущей версии главной страницы Google, поэтому страница остается прежней.
Вы можете получить URL с помощью window.location
,
В этом конкретном примере window.title
будет отличать их. window.title
не поддерживается Chrome, но document.title
является. Он работает в Chrome, Firefox и Opera как в Linux, так и в Windows; Safari на Windows; IE6, IE7 и IE8 в Windows; и, вероятно, другие.
В более общем смысле, window.location
дает вам URL-адрес страницы, что хорошо для того, чтобы сообщить, на какой странице вы находитесь; больше на MDC. Он поддерживается во всех основных браузерах, которые я когда-либо видел, включая список выше.