IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

ie et object


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par d�faut ie et object
    Salut � tous

    INTRODUCTION

    Jusqu'ici j'utilise la balise IFRAME pour afficher du contenu HTML dans une page. De plus j'applique une fonction javascript � la fin du chargement de la balise pour redimensionner le contenu affich�.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <IFRAME ONLOAD="redim();" ...>...</IFRAME>
    Pour des raisons de normalisation, je souhaite remplacer cette balise par la balise OBJECT mais cette balise ne g�re pas l'�v�nement ONLOAD. Pour palier � ce probl�me j'utilise une image vide charg�e � la fin du document HTML. Cette image contiendra un d�clencheur ONLOAD pointant sur la fonction de redimensionnement.


    PRESENTATION

    Dans mon document principal:
    - j'ai une fonction javascript de redimensionnement
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    function redim(){
       ...
    }
    - j'affiche un document HTML contenu dans une balise OBJECT.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <OBJECT ID="HTML_OBJECT"...>...</OBJECT>
    Dans le document HTML:
    - j'int�gre une image, servant de d�clencheur.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <IMG ONLOAD="parent.redim()" ... />

    LE PROBLEME
    L'appel de fonction "parent.redim();" ne marche pas avec IE.
    J'ai essay� diff�rentes m�thodes pour acc�der aux �l�ments de la page parente mais rien n'y fait!

    Je cherche donc des pistes de r�flexions svp.

    Merci

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    onlaod sur une balise image ??? pas tr�s �tonnat que ce la ne fonctionne pas, passe par le onload du body ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par d�faut re
    Citation Envoy� par SpaceFrog
    onlaod sur une balise image ??? pas tr�s �tonnat que ce la ne fonctionne pas, passe par le onload du body ...
    Effectivement je ne sais pas pourquoi j'ai mis ONLOAD sur une img ?
    Ceci dit l'appel fonctionnait sous FF et m�me en mettant ONLOAD sur BODY le probl�me reste le m�me : IE ne trouve pas la fonction appel�e dans la page principale.

    J'ai finalement r�ussi a r�soudre mon probl�me en mettant ONLOAD sur la page principale ce qui me permet d'appeler la fonction pour redimensionner la balise OBJECT. Je continue n�anmoins � int�grer du javascript � la vol�e dans le HTML afin de supprimer le cadre et les ascenceurs g�n�r�s par la balise OBJECT (toujours � cause d'IE).

    Thanks

  4. #4
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 532
    Par d�faut
    Mais pourquoi OBJECT ?
    IFRAME c'est beacoup mieux pour l'utilisation que tu fait

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par d�faut re
    Citation Envoy� par FremyCompany
    Mais pourquoi OBJECT ?
    IFRAME c'est beacoup mieux pour l'utilisation que tu fait
    En fait jusqu'ici j'utilisais la balise IFRAME mais elle n'est pas compatible avec XHTML strict contrairement � la balise OBJECT...

  6. #6
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 532
    Par d�faut
    Ah bon ?
    Oublie le mode strict alors

    Sinon, fait semblant d'�tre gentil :
    Code HTML : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    <span id="iframeCode" style="display: none"><!-- <iframe ...></iframe> --></span>
    <script type="text/javascript">document.write(document.getElementById("iframeCode").firstChild.data)</script>

    Le validateur n'y vera que du feu et de toute facon le navigateur se fiche royalement que ton HTML passe ou non la validation XHTML Strict

  7. #7
    Membre chevronn� Avatar de yjuliet
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Ao�t 2006
    Messages
    362
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 362
    Par d�faut
    �a marche aussi bien avec un
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    document.getElementById('...').innerHTML = '<iframe ...></iframe>';
    qui est plus XML que le document.write...

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par d�faut
    Le validateur n'y vera que du feu
    Certe ca passe les validateurs mais c'est pas le but.

    Le but est de standardiser l'affichage de la page dans les diff�rents navigateurs en s'appuyant sur les recommandations 3wc d'ou l'usage de la balise object.
    Le validateur � pour fonction de t'assurer du bon format de ta page. Si le but n'est que de bluffer le validateur, autant ne pas passer par un validateur !

    de toute facon le navigateur se fiche royalement que ton HTML passe ou non la validation XHTML Strict
    Qu'entends tu pars l� ?
    D'exp�rience, le doctype influe �norm�ment sur l'affichage d'une page d'un navigateur � l'autre.

  9. #9
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 532
    Par d�faut
    Le doctype oui, mais que tu le respecte ou pas n'a aucune importance

  10. #10
    Membre chevronn� Avatar de yjuliet
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Ao�t 2006
    Messages
    362
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 362
    Par d�faut
    La diff�rence pour les navigateurs entre le doctype XHTML 1 STRICT et le XHTML 1 Frameset est relativement minime, la diff�rence principale est la gestion ou non des attributs relatifs aux frames et iframes (target, etc...) et du point de vue affichage n'influencent pas vraiment. EN revanche le fait de sp�cifier un doctype adapt� � ton contenu est important pour que les navigateurs interpr�tent correctement ce que tu leurs donne.

  11. #11
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 532
    Par d�faut
    Et puis comme tu peux le constater, la balise OBJECT cr�e un ActiveX.

    Si le contenu est du HTML, elle cr�e un ActiveX IE (enfin, c'est plutot un composant COM mais simplifions, c'est plus ou moins pareil)

    Seulement le composant ActiveX cr�� n'a pas de lien de parent� avec l'instance pr�c�dente de IE, d'o� parent qui ne marche pas.

    Normalement il devrait en �tre ainsi pour tous les navigateurs mais comme seul IE peut faire cela (les autres navigateurs ne disposent pas d'un composant COM (ou m�me ind�pendant), donc ils rendent l'objet OBJECT comme si il s'agissait d'une IFRAME, ce qui est normalement faux en th�orie.

    D'ailleurs pour les autres types d'objets comme les objets flash, PDF, ...) l'utilisation de COM est de mise (sous Windows du moins) pour tous les navigateurs

    Comme ca tu vois que IFRAME et OBJECT, ce n'est pas la m�me chose et ca ne s'utilise pas l'un pour l'autre

    Garde OBJECT pour les Flash et IFRAME pour les frames, tu auras la vie plus belle et tu �pargnera au navigateur de se r�instancier pour rien

  12. #12
    Membre chevronn� Avatar de yjuliet
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Ao�t 2006
    Messages
    362
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 362
    Par d�faut
    en fait, ce que t'essayes de faire, au final, c'est un peu de l'AJAX (qui te permet de faire du XHTML strict si tu pr�f�res ...)

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par d�faut
    Bonjour � tous

    Le doctype oui, mais que tu le respecte ou pas n'a aucune importance
    je n'ai pas saisie

    Comme ca tu vois que IFRAME et OBJECT, ce n'est pas la m�me chose et ca ne s'utilise pas l'un pour l'autre
    Merci pour ces pr�cisions je n'avais pas vu ca sous cet angle.

    Garde OBJECT pour les Flash et IFRAME pour les frames, tu auras la vie plus belle et tu �pargnera au navigateur de se r�instancier pour rien
    Sachant que iframe n'est pas reconnue en xhtml strict :
    - quel sera le comportement d'un navigateur lorsqu'il rencontrera cette balise dans une page ??
    - est ce que ce comportement sera invariable quelquesoit le navigateur ??

  14. #14
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 532
    Par d�faut
    Tous les navigateurs afficheront ton IFRAME, ca je peux te l'assurer

    Tu sais, ils ne v�rifient pas que ton HTML est bien valide du point de vue du Doctype que tu donnes, ca prendrais trop de temps pour rien (l'utilisateur se fiche de le savoir et le navigateur peut faire son rendu sans).

    Par contre, le validateur, lui, ne sera pas content, d'o� la solution du script

    Avec ce "workaround", comme on dit, tout le monde est content :
    - Le d�veloppeur car son site marche bien
    - Le validateur car il ne voit pas la balise
    - Le navigateur car il a son DocType

    Mais attentions tout de m�me � v�rifier sur diff�rents navigateurs (si tu es sur Windows, c'est l'id�al puisque tu as � ta disposition IE, FF, Op�ra et Safari 3.02 BETA), parce que le style CSS ou certaines propri�t�s JavaScript pourraient peut-�tre ne pas �tre interpr�t�e correctement (je ne crois pas que cela soit le cas, mais je ne peux pas le jurer)

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par d�faut
    Tous les navigateurs afficheront ton IFRAME, ca je peux te l'assurer
    Effectivement je peux le confirmer, le site dans lequel je souhaite changer la balise IFRAME par OBJECT est actif depuis pas mal de temps et j'ai pu �prouver cette balise sur ie6+7,ff,netscape, safari(macos), camino(macos),linux
    Je n'ai aucune diff�rence de traitement visible entre les diff�rents navigateurs.

    Tu sais, ils ne v�rifient pas que ton HTML est bien valide du point de vue du Doctype que tu donnes, ca prendrais trop de temps pour rien (l'utilisateur se fiche de le savoir et le navigateur peut faire son rendu sans).
    Pour moi le doctype repr�sente l'algorithme de traitement de la page par un navigateur. Il permet donc de standardiser le traitement. Si le doctype n'est pas pr�sent, le navigateur utilisera son traitement perso.

    Aujourd'hui on ne peux pas pr�voir le comportement des futures versions des navigateurs concernant les �l�ments hors doctype. Ce mode diff�rait d�j� entre ie6 et ff et c'est toujours le cas entre ie7 et ff pour ne citer que les principaux.
    D'o� l'int�r�t, � mon sens, de suivre un mod�le standard et d'�viter de recourir � des contournements m�mes s'ils sont justifi�s !

    Pour info, j'ai remplacer la balise IFRAME par la balise OBJECT et je conserve le m�me confort de traitement. L'instance r�sultante reste transparente donc je pense tout de m�me l'int�gr�.

    merci � tous et en particulier � FremyCompany pour ces �l�ments de r�flexions.

    Bob

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Notion de boucles dans Business Object
    Par lionelEIGIP dans le forum Deski
    R�ponses: 1
    Dernier message: 08/04/2004, 11h26
  2. R�ponses: 2
    Dernier message: 30/01/2004, 14h07
  3. [DDL] "object <table> is in use"
    Par TMuet dans le forum SQL
    R�ponses: 4
    Dernier message: 26/01/2004, 10h18
  4. R�ponses: 8
    Dernier message: 21/11/2003, 18h38
  5. Comment inserer des donnee de type Large Object !!
    Par josoft dans le forum Requ�tes
    R�ponses: 4
    Dernier message: 20/07/2003, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo