Chargement d'une iframe [Résolu]

Signaler
Messages postés
152
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
17 janvier 2014
-
Messages postés
152
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
17 janvier 2014
-
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

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
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 />
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
15
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.
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
15
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.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
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 />
Messages postés
152
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
17 janvier 2014
3
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.