Chargement d'une iframe

Résolu
Anthed Messages postés 152 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 17 janvier 2014 - 4 mai 2007 à 17:51
Anthed Messages postés 152 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 17 janvier 2014 - 7 mai 2007 à 17:52
Bonjour à tous.

Un petit résumé de mon problème. J'ai dans ma page une <layer id="google-toolbar-hilite-1" style="background-color: Chartreuse; color: black;">iframe</layer> qui se recharge toutes les 10 secondes via un appel à un serveur d'application. Le contenu de l'<layer id="google-toolbar-hilite-2" style="background-color: Chartreuse; color: black;">iframe</layer> retourné par celui-ci est de type mime image/gif.

Tout ceci marche bien. Par contre, j'aimerai intégrer le cas où le serveur est arrêté : est-il possible de détecter l'absence de réponse en <layer id="google-toolbar-hilite-0" style="background-color: Yellow; color: black;">javascript</layer>, afin d'éviter que l'<layer id="google-toolbar-hilite-3" style="background-color: Chartreuse; color: black;">iframe</layer> se rafraichisse en permanence avec un message du type 'serveur indisponible'.

Merci d'avance.

5 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 mai 2007 à 09:56
Bonjour,

>>>..j'aimerai intégrer le cas où le serveur est arrêté...


>>..En ce qui me concerne, j'utiliserai un script PHP (sur ton serveur à toi)...


    ça va donc être difficile neigedhiver... si le serveur est hs ?

à affiner :

<html>
<head>
<title>Test si connecté</title>
<script type="text/javascript">
    function test()
    {    if(document.getElementById("gif").complete)
                {    alert('ok');    }
        else    {    alert('pas ok');    }
    }
</script>
</head>

<script type="text/javascript">
    document.getElementById("gif").src=
        "http://marcel-bultez.chez-alice.fr/gif/Moi.gif?"+Date.parse();   
                //?Date.parse() pour le cache
</script>

</html>

ou alors, on en a causé il y a peu, une requête ajax.

<hr />


Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
3
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
4 mai 2007 à 21:36
Salut,

En ce qui me concerne, j'utiliserai un script PHP (sur ton serveur à toi) appelé depuis l'iframe.
Ce script aurait pour mission (il est obligé de l'accepter en plus)
- de vérifier si le serveur est up
- vérifier que l'image est disponible (file_exists(), php gère ça très bien si le protocole http est autorisé pour les fonctions sur les fichiers)
- si l'image existe :
* lire le contenu de l'image
* retourner le contenu de l'image avec des entêtes adéquats (mime-type: image/gif)
- si l'image n'existe pas :
* faire ce que tu veux (renvoyer une autre image)

C'est quand même plus sûr que javascript, ça permet que ça marche à tous les coups, même si le navigateur du client n'exécute pas Javascript.

Bon, j'ai pas creusé suffisament pour te fournir le code tout fait, parce que ça fait appel à des fonctions que je ne maitrise pas, mais au moins, voilà un algorithme qui devrait fonctionner.
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
5 mai 2007 à 10:19
C'est pour ça que je dis "sur ton serveur à toi".
Si son serveur à lui est HS, il ne pourra pas plus afficher une iframe, une image, exécuter un JS, etc.

Justement... le script étant sur son serveur à lui, il peut tester si le serveur distant est up ou down avant d'afficher l'image sur ce serveur.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 mai 2007 à 10:28
j'ai cru comprendre que c'était le même serveur...
    à la relecture, j'en suis moins sûr !
    tu as peut-être raison neigedhiver.

perso, malgré tout, je ferais une requêtre ajax pour
    afficher ( dans un div, un span, un iframe... ).
    cette requête sait si le serveur répond ou pas.

<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Anthed Messages postés 152 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 17 janvier 2014 3
7 mai 2007 à 17:52
J'avais affecté le contenu image/gif provenant de ma base directement au src de mon iframe. Ajouter une image dans cette dernière a simplifié la gestion des tests de chargement.
Merci pour votre aide Messieurs.
0
Rejoignez-nous