Comment détecter une erreur 404 dans une iframe?
Ma page Web utilise des iframes pour recueillir le contenu d'autres pages. Toutes les pages sont dans le même domaine.
À partir de la page principale, il est un moyen de confirmer que tous les iframes avez chargé, et qu'il n'y a pas d'erreur 404?
- Double Possible: stackoverflow.com/questions/375710/...
- c'est en effet une question similaire... mais 5 ans et pas de réponse valable.
- double possible de détecter les iframe erreur de chargement
- Une précédente question avec réponse utile: stackoverflow.com/questions/13222314/detect-iframe-load-error
- malheureusement, cela ne fonctionne pas pour moi. J'ai besoin d'une solution JavaScript, pas de php.
- la question est toujours d'une copie de quelques anciennes questions, au moins un qui a une réponse utile. Et la bonne réponse semble être que vous ne pouvez pas le faire avec JavaScript (seul).
- Cela vous aide?: stackoverflow.com/questions/12267010/...
- malheureusement, ce ne sera pas de l'aide avec l'erreur 404.
- Jetez un oeil à ma réponse.
Vous devez vous connecter pour publier un commentaire.
L'état ne vit que dans l'en-tête de réponse.
La Page 404, c'est de la manipulation d'un Le Code d'État HTTP, qui est seulement inclus dans la réponse du serveur est envoyé au navigateur, mais non pas dans le réel
window
etdocument
objets du DOM de javascript peut accéder. Cela signifie que bien que vous pouvez certainement recueillir de l'état-code et de prendre les mesures appropriées, vous pouvez le faire uniquement lorsque votre javascript est la réception de la réponse, comme avec une jQuery.ajax() demande ou un XmlHttRequest pour charger votre "iframe".Espère que la page 404 suit 404 normes.
Si ce qui précède n'est pas une option, la seule autre possibilité peut être de vérifier le titre et/ou H balises, pour " 404 ". Alors que ce n'est certainement pas l'idéal (j'aimerais le voir, "404, le Film n'est pas Trouvé, le Film."), il est de votre seule autre option.
this
au lieu devar iframe = $("#iframe")[0];
?Suppose que c'est votre html
Il y a deux scénario
Votre iframe src est dans le même domaine à partir de l'endroit où votre page est originaire.
Vous pouvez utiliser jQuery ajax demande afin de vérifier si la ressource est disponible
Votre iframe src ne pointe pas sur le même domaine à partir de l'endroit où votre page est née.
Maintenant des navigateurs vous permettent de faire un cross site request à partir du code javascript en raison de origine de la croix de la politique. Le tour est de faire un jsonp demande.
src=url_address
au moins pas de façon traditionnelle. Si vous voulez mettre du contenu dans l'iframe, je suppose que vous pouvez accomplir que par l'écriture un peu de javascript qui n'a que. Avec ajax approche, vous pouvez pour vous de savoir quand l'erreur s'est produite et l'affichage du message adéquat. Sinon, si erreur s'est produite iframe s'affiche toujours l'erreur, comment l'utilisateur diffèrent-ils? L'erreur pourrait être le messagejsonp
solution est tout simplement génial, merci!parsedjson.status
a réellement de valeur dansNumber
pasString
de sorte queif
déclaration entraînera toujoursfalse
.===
tout le temps.