Как я могу определить, был ли сайт 404 в javascript, а затем перенаправить браузер в другое - PullRequest
3 голосов
/ 01 февраля 2011

Я пытаюсь написать сценарий greasemonkey для firefox, который проверит сайт при открытии и выяснит, будет ли сайт 404, а затем автоматически перенаправит пользователя в другое место.

Спасибо

Ответы [ 3 ]

3 голосов
/ 12 февраля 2011
// ==UserScript==
// @name           Redirect
// @namespace      test
// @include        *
// ==/UserScript==

if (/^about:neterror/.test(document.documentURI))
{
    location.assign(...);
}
2 голосов
/ 01 февраля 2011

Сделайте AJAX-запрос к URI и проверьте код ответа из возвращенного объекта XHR для кода ошибки 404 (или! = 200).

Есть ли у вас доступ к какой-либо JS Framework?

0 голосов
/ 12 февраля 2011

Под "проверкой сайта" я предполагаю, что вы имеете в виду URL-адрес другого домена.

Это нельзя сделать строго со стороны клиента без "сотрудничества" со стороны целевой службы из-за стороны клиентамежсайтовые ограничения безопасности, и я полагаю, что это не ваш вариант использования.

Распространенным решением является использование какого-либо прокси на стороне сервера.

Если вы используете страницу на своем сайте длявыступая в качестве прокси, вы можете сделать его достаточно гибким, чтобы принимать запросы на проверку любого URL.

  • создать страницу ресурса на вашем сайте, например, checkRemotePage.php
  • checkRemotePage.phpстраницу целевого сайта и получает код ответа
  • позвоните на свою страницу /checkRemotePage.php через ajax, чтобы получить полученные данные

Если ваши потребности ограничены статическим URL или небольшимсписок префиксов URL, вы можете использовать apache mod_proxy

...