Quatre & Trois

Web, logiciels, langue française et divers.

vendredi, 30 mars, 2007, 04:00

Cliquez pour activer et utiliser ce contrôle

Développeurs (X)HTML ou Flash, vous avez surement dû voir des messages du type : Cliquez pour activer et utiliser ce contrôle sur les animations incluses à l’aide de la balise (X)HTML <object> ou <embed> dans des pages web avec Internet Explorer.
Ce message à été inclus dans Internet Explorer suite à un procès que Microsoft à perdu contre EOLAS qui détenait des brevets sur cette technique.
Heureusement il existe plusieurs techniques pour que ce message — et la bordure grise qui l’accompagne — ne s’affichent pas.

Celle que je trouve la plus simple consiste à créer un fichier flash.js contenant ce code :

if (document.getElementsByTagName && document.body.outerHTML) {
    var tags = ['object','embed','applet'];
    for (var i in tags) {
        var objs = document.getElementsByTagName(tags[i]);
        for (var j=0;j < objs.length;j++) {
            var obj = objs.item(j);
            var params = obj.getElementsByTagName('param');
            var inner = '';
            if (params.length && !/<param/i.test(obj.innerHTML))
                for (var x=0;x < params.length;x++)
                    inner += params.item(x).outerHTML;
            obj.outerHTML = obj.outerHTML.replace('>', '>' + inner);
        }
    }
}

Une fois ce fichier créé, ajoutez la ligne de code suivante juste avant la balise </body> de la page web contenant une ou plusieurs balises <object> :
<script type="text/javascript" src="flash.js"></script>
Maintenant le problème sous Internet Explorer ne doit plus exister.

S'il apparait toujours ou si vous êtes curieux et que vous voulez connaitre les autres solutions, je vous conseille le site sur lequel j’ai trouvé ce code JavaScript : http://activecontent.blogspot.com

8 commentaires

1. Le mercredi, 18 avril, 2007, 16:16 par catclo123

je m'escuse, je suis un peu novice dans le domaine, j'ai créée mon site web, et j'aimerai supprimer la phrase "Cliquez pour activer et utiliser ce contrôle "
j'ai suivi vos instructions
mais je bloc encore
comment fait on pour créer un fichier flash.js
PS je travail sur frontpage

2. Le mercredi, 18 avril, 2007, 16:37 par Sined

Le fichier « flash.js » doit être créé avec le bloc-notes de Windows par exemple ou tout autre éditeur de texte simple (mais pas Microsoft Word !).
Une fois le code inséré dans ce fichier, le sauvegarder sous le nom de « flash.js » dans le même dossier que la page-web.
Et puis après insérer l’autre code dans la page HTML qui contient le lien vers l’animation flash.
Je sais que Frontpage est assez spécial comme créateur de page-web, mais je pense que pour inclure le code dans la page il doit falloir passer en mode « code » ou bien quelque-chose du genre « HTML pur ».

3. Le jeudi, 21 juin, 2007, 03:08 par guigui

Merci pour ce post !! tu es formidable !
Encore un grand bravo pour ces amis du web !

4. Le vendredi, 22 juin, 2007, 12:23 par bruno

Salut! je viens de faire tout ce que tu as dit mais le soucis, c'est que les pages mettent beaucoup plus de temps à se charger... c'est normal? merci d'avance.

5. Le vendredi, 22 juin, 2007, 18:33 par Sined

Salut ! J'ai aussi eu récemment des problèmes de lenteur avec cette technique, Internet Explorer à peut-être subit une mise à jour qui rend cette astuce moins pratique.
Une autre technique disponible à cette adresse : http://activecontent.blogspot.com/2...
marche mieux mais est plus compliquée à appliquer.

6. Le mercredi, 19 décembre, 2007, 13:11 par jarzi

Bonjour,

J'ai créé un site internet pour un ami avec une page une web TV et un lecteur Flash, j'ai suivi tes instructions en créant un fichier "flash.js" et en ajoutant ton script sur la page.

Mon problème est que lorsque la page de la webTv s'ouvre au départ le lecteur swf est encadré puis la page se recharge ou se rafraichit automatiquement et là seulement l'encadrement et le message du swf disparait.

Comme je maitrise assez peut le HTML pourrais tu avoir la gentillesse de jeter un coup d'œil sur le code source de la page à mon avis je me suis planté quelque part.

http://www.chdvd.ch/webtv.html

merci de ton attention

7. Le jeudi, 20 décembre, 2007, 08:08 par Sined

Je crois qu'il n'existe pas de méthode parfaite pour enlever cette bordure sur Internet Explorer.
Chaque méthode a des inconvénients : il semble que cette méthode fasse rafraichir la page, une autre méthode va laisser la bar de chargement toujours en chargement...
Je vous laisse voir les différentes méthodes qui sont expliqués sur ce site (anglais) :
http://activecontent.blogspot.com/
Vous trouverez peut-être une méthode plus adaptée à votre site, la mienne avait l'avantage d'être petite et assez simple à mettre en place.

8. Le jeudi, 21 août, 2008, 22:08 par Michael V

De mon côté, j'ai placé l'appel au fichier javascript directement sous mon <embed> problématique, car en plaçant cette ligne de code avant </body> ce script s'appliquera à toute la page. Çà fonctionne très bien sous IE7 et IE6 et ne semble pas nuire à FF . Cependant, il ne semble pas compatible avec IE5.5