11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Soit une page P1.html incluant une iframe dont la source est P2.html
Nota : P2.html appartient au même domaîne que P1.html et les "propriétaires intellectuels" sont les mêmes...

P2.html ne comporte que du texte et est générée automatiquement par un export html fait sous OpenOffice ou Kate (mini-éditeur sous KDE) ou...
=> C'est du strict minimum voire du néant coté styles et déclarations de header... => Opera / FireFox / IE font exactement ce qu'ils veulent avec...
=> Alors que P1.html est en ISO-8859-15, P2.html est susceptible d'être en autre chose. (UTF-8 bien souvent)

Existe-t-il un moyen simple via un JavaScript exécuté sur l'onload de P1.html de spécifier :
- La taille de la police utilisée dans l'iframe ?
- Le width de P1.html ?
- Forcer le browser à interpréter P2 en utf-8 indépendemment du reste de P1 ?
Modifié par aCOSwt (11 May 2008 - 22:50)
Bon...

Pour ce qui est de changer la taille de la fonte, j'ai bien trouvé :
document.getElementById(ifram_id).contentDocument.body.style.fontSize="Xpx";

Mais... comme d'habitude...
Cela fonctionne bien sous Safari, Opera, Firefox, Konqueror et pas...
Quelle en serait la traduction pour IE ?
Modifié par aCOSwt (09 May 2008 - 19:30)
haaaa les joies de IE Smiley cligne
MS doit implémenter (enfin) la propriété contentDocument dans IE8...
En attendant :
var ifram = document.getElementById("ifram_id");
var doc = ifram.contentDocument || ifram.contentWindow.document; // standard ou IE
doc.body.style.color="red";
C'est encore moi...
Pardon...
Il me manque juste un point de... détail... Smiley lol

Je déclenche le JS ci-dessus sur onload de l'iframe i.e. :
<iframe id="xyzt" onload="adjustframefont('xyzt')"></iframe>

Cela fonctionne très bien avec tous les navigateurs que j'ai testés mais... le validateur W3C complaint que onload n'est pas un attribut supporté par iframe. (4.01 Transitional)

Une autre méthode plus W3C ?
Modifié par aCOSwt (16 May 2008 - 10:01)