11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour
après avoir lu le "tutoreil" Inclure un fichier dans une page HTML sans utiliser <iframe>, j'ai essayé de faire pareil. Pas de problème. J'inclus autant de page xhtml dans les balises <object> que je veux. Toutefois, j'aimerais modifier l'argument data d'une de ces balises object. Et là je coince. Quelqu'un sait-il faire ? Visiblement un simple document.getElementById("MonObject").data="MaNouvellePage.xhtml" ne semble pas suffire.

Merci
Modifié par coucou (25 Nov 2006 - 19:46)
Les navigateurs, et tout spécialement IE, sont très frileux lors de la modification dynamique des paramètres d'un object.
Le mieux est de réécrire tout l'object.

Par exemple : <dvi id="mondiv"><object ... >...</object></div> et document.getElementById('mondiv').innerHTML = "...";
...
Bonjour à tous !

C'est en meme temps une question et une proposition , car je ne l'ai jamais utilisée mais je sais qu'il existe un tableu embeds[] représantant les différents
objets présents dans ce genre de balise ( fonctionnerit avec <objet> et
<embed>) ..

je sais également qu'il faut utiliser les active x ( les méthodes et propriétés
de ces objets dépendent du plugins ou du controle actice X utilisés pour afficher les données ) ....

Ce qui m'a un peu "refroidi" d'ailleurs , mais ce genre d'accés m'intéresse , alors ....si cette "technique" peu etre utilisée dans le cas de 'coucou' !

++
... ah double post .... suite à un message "vous ne pouvez pas posté avant 15 s .. protection anti-flow !??
désolé !
Modifié par kzone (21 Nov 2006 - 21:03)
Salut,

Utiliser <object> pour insérer une page dans une autre c'est purement et simplement faire un <iframe>.

Le faire pour un document pourquoi pas, c'est le genre de chose que j'arrive à envisager sans trop sourciller (tout en restant prudent).

Mais envisager un controle dudit frame à partir de la page insérante c'est plonger les deux pieds, et la tête, en avant dans les pires défauts qui ont rendus l'usage des frame très problématique voire condamné.

De plus utiliser javascript pour obtenir cela demande une énorme vigilance pour qu'on n'arrive pas à une situation d'inaccessibilité complète des pages insérées si javascript est inactif coté client.

Enfin la question qui se pose c'est si google me propose en lien telle_page.html et que telle_page.html est une page insérée via <object> comment est ce que je fais pour retrouver la navigation principale.

Les DTD "strict" n'indiquent pas tant l'obsolescence de certaines balises (ou attributs) que l'obsolescence de certaines pratiques.

Vouloir utiliser l'ingéniosité pour refaire la part belle à de telles pratiques est franchement, pour essayer au moins une fois d'être gentil, absurde.
..

bonsoir !

il y a certain cas comme l'intégration de document SVG ( rien d'autre qu'un document Xml ) qui ne peuvent etre intégrer à un document Xtml que par l'emploi de tel procédé .. embe ou objet !

Sans vouloir pour autant vouloir en modifier le comportement .

Cela serait bien plus facile ( et techniquement plus compréhensible ) la gestion par tous les navigateurs des espaces de noms et la reconnaissance
des Mime application/xml ou application/langage_xml+ xml ..

La solution des <foreign object> me semblerait une très bonne solution,
puisque de par sa définition elle sert à insérer des "fragments ou non " de document MAIS n'étant pas du meme espace de nom que le document "hote" .

mais il faudrait que je revoie mes définitions des éléments object embed et iFrame ..

Je ne peux en tous les cas intervenir sur un document svg insérer dans une page xhtml que passer par l'element <embed> ...pour l'instant .
Je ne pense pas que cette façon d'inter-agir entre 2 document de NS différents soit "illégal Smiley biggol ..

++
Modifié par kzone (21 Nov 2006 - 23:17)
Bonjour
Je réponds très tardivement à toutes vos remarques et propositions dont je vous remercie.
J'ai suivi les conseils : en effet en modifiant directement le contenu du div, "tout" devient possible. Je simule ainsi VOLONTAIREMENT les iframes.

Le problème de la balise embed est qu'elle n'est pas valide en strict.

Quant aux remarques de clb56, je ne les comprends pas. Pourquoi être agressif(ve?) envers les participants de ce forum qui proposent des solutions à des problèmes qui peuvent intéresser moult d'entre eux ?