3 votes

Comment puis-je déterminer si un site a fait un 404 en javascript et rediriger le navigateur ailleurs ?

J'essaie d'écrire un greasemonkey script pour firefox qui va vérifier un site à l'ouverture et voir si le site web a 404'd et ensuite rediriger l'utilisateur automatiquement ailleurs.

Merci

3voto

w35l3y Points 2316
// ==UserScript==
// @name           Redirect
// @namespace      test
// @include        *
// ==/UserScript==

if (/^about:neterror/.test(document.documentURI))
{
    location.assign(...);
}

2voto

Daniel Doezema Points 1328

Faites une demande AJAX à l'URI et vérifiez le code de réponse de l'objet XHR renvoyé pour le code d'erreur 404 (ou != 200).

Avez-vous accès à une sorte de Framework JS ?

0voto

Joe Hanink Points 1602

Par "vérifier un site", je suppose que vous voulez dire une url sur un domaine différent.

Cela ne peut pas être fait strictement du côté client sans la "coopération" du service cible en raison des restrictions de sécurité intersites du côté client, et j'imagine que ce n'est pas votre cas d'utilisation.

Une solution courante consiste à utiliser une sorte de proxy côté serveur.

Si vous utilisez une page de votre site pour faire office de proxy, vous pouvez la rendre suffisamment souple pour accepter les demandes de vérification de n'importe quelle URL.

  • créer une page de ressources sur votre site, par exemple checkRemotePage.php
  • checkRemotePage.php appelle la page du site cible et obtient le code de réponse
  • appelez votre page /checkRemotePage.php via ajax pour obtenir les données qu'elle a récupérées.

Si vos besoins sont limités à une url statique ou à une petite liste de préfixes d'url, vous pouvez utiliser le mod_proxy d'apache.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X