Affichage des propriétés des objets HTMLLoader

Adobe AIR 1.0 et les versions ultérieures

Un objet HTMLLoader hérite des propriétés d’affichage de la classe Adobe® Flash® Player Sprite. Vous pouvez redimensionner, déplacer, masquer et changer la couleur d’arrière-plan, par exemple. Ou vous pouvez appliquer des effets avancés comme les filtres, les masques, les mises à l’échelle et la rotation. Lorsque vous appliquez des effets, évaluez l’impact sur la lisibilité. Les contenus SWF et PDF chargés dans une page HTML ne peuvent pas s’afficher lorsque certains effets sont appliqués.

Les fenêtres HTML contiennent un objet HTMLLoader qui restitue le contenu HTML. L’objet est limité à la zone de la fenêtre de sorte qu’un changement dans les dimensions, la position, la rotation ou l’échelle ne produit pas toujours les résultats escomptés.

Propriétés d’affichage de base

Les propriétés d’affichage de base de HTMLLoader vous permettent de positionner le contrôle au sein de l’objet d’affichage parent, de définir la taille et d’afficher ou masquer le contrôle. Vous ne devriez pas changer ces objets pour l’objet HTMLLoader d’une fenêtre HTML.

Les propriétés de base contiennent :

Propriété

Remarques

x , y

Positionne l’objet au sein de son conteneur parent.

width , height

Change les dimensions de la zone d’affichage.

visible

Contrôle la visibilité de l’objet et tout contenu qu’il possède.

Hors d’une fenêtre HTML, les propriétés width et height d’un objet HTMLLoader sont fixées à 0. Vous devez définir la largeur et la hauteur avant que le contenu HTML chargé ne devienne visible. Le contenu HTML est dessiné suivant la taille de HTMLLoader et disposé suivant les propriétés HTML et CSS du contenu. Un changement dans la taille de HTMLLoader redistribue le contenu.

Lors du chargement de contenu dans un nouvel objet HTMLLoader (la propriété width est toujours définie sur 0), il peut être tentant de définir les paramètres width et height du HTMLLoader à l’aide des propriétés contentWidth et contentHeight . Cette technique est valable pour les pages qui disposent d’une largeur minimale raisonnable lorsqu’elles sont déployées selon les règles de HTML et du flux CSS. Toutefois, en l’absence d’une largeur raisonnable fournie par le HTMLLoader, certaines pages sont intégrées en une mise en page longue et étroite.

Remarque : lorsque vous changez la largeur et la hauteur de l’objet HTMLLoader, les valeurs scaleX et scaleY ne changent pas, comme ce serait le cas avec la plupart des autres objets d’affichage.

Transparence du contenu HTMLLoader

La propriété paintsDefaultBackground d’un objet HTMLLoader, qui est true par défaut, détermine si l’objet HTMLLoader dessine un arrière-plan opaque. Lorsque paintsDefaultBackground est false , l’arrière-plan est clair. Le conteneur de l’objet d’affichage ou les autres objets d’affichage en dessous de l’objet HTMLLoader sont visibles derrière les éléments de premier plan du contenu HTML.

Si l’élément de corps ou tout autre élément du document HTML spécifie une couleur d’arrière-plan, à l’aide de style="background-color:gray" , par exemple, l’arrière-plan de cette portion de HTML est alors opaque et restituée dans la couleur d’arrière-plan spécifiée. Si vous définissez la propriété opaqueBackground de l’objet HTMLLoader et paintsDefaultBackground est false , la couleur définie pour le opaqueBackground est alors visible.

Remarque : vous pouvez utiliser une illustration transparente et au format PNG pour fournir un arrière-plan semi-transparent à un élément dans un document HTML. La définition du style d’opacité d’un élément HTML n’est pas prise en charge.

Mise à l’échelle d’un contenu HTMLLoader

Evitez la mise à l’échelle d’un objet HTMLLoader au delà d’un facteur 1.0. Le texte d’un contenu HTMLLoader est restitué à une résolution spécifique et il apparaît pixelisé si l’échelle de l’objet HTMLLoader est augmentée. Pour éviter que le HTMLLoader, ainsi que son contenu, ne soit redimensionné lorsqu’une fenêtre l’est, définissez la propriété scaleMode de la scène sur StageScaleMode.NO_SCALE .

Eléments à prendre en compte lors du chargement d’un contenu SWF ou PDF dans une page HTML

Le contenu SWF ou PDF chargé dans un objet HTMLLoader disparaît dans les conditions suivantes :

  • Si vous mettez l’objet HTMLLoader à une échelle autre que 1.0.

  • Si vous attribuez à la propriété alpha de l’objet HTMLLoader une valeur autre que 1.0.

  • Si vous faites pivoter le contenu HTMLLoader.

Le contenu réapparaît si vous retirez le paramétrage de la propriété fautive et supprimez les filtres actifs.

Par ailleurs, le moteur d’exécution ne peut pas afficher de contenu PDF dans une fenêtre transparente. Il n’affiche le contenu SWF intégré à une page HTML que si le paramètre wmode de l’objet ou de la balise embed est défini sur opaque ou transparent . Puisque la valeur par défaut de wmode est window , le contenu SWF ne s’affiche pas dans une fenêtre transparente, sauf si vous définissez explicitement le paramètre wmode.

Remarque : dans les versions d’AIR antérieures à 1.5.2, le contenu SWF intégré à HTML ne s’affichait pas, quelle que soit la valeur wmode définie.

Pour plus d’informations sur le chargement de ces types de média dans un objet HTMLLoader, voir les sections Intégration d’un contenu SWF en HTML et Ajout d’un contenu PDF dans AIR .

Propriétés d’affichage avancées

La classe HTMLLoader hérite de plusieurs méthodes qui peuvent être utilisées pour des effets spéciaux. En règle générale, ces effets ont des limites lorsqu’ils sont utilisés avec l’affichage du HTMLLoader, mais ils peuvent être utiles pour les transitions ou autres effets temporaires. Par exemple, si vous affichez une fenêtre de dialogue pour rassembler les saisies de l’utilisateur, vous pourriez flouter l’affichage de la fenêtre principale jusqu’à ce que celui-ci mette fin au dialogue. De même, vous pourriez faire un fondu lors de la fermeture de la fenêtre

Les propriétés d’affichage avancées sont les suivantes :

Propriété

Restrictions

alpha

Peut réduire la lisibilité du contenu HTML

filtres

Dans une fenêtre HTML, les effets extérieurs sont coupés par les bords de la fenêtre

graphics

Les formes dessinées à l’aide de commandes graphiques apparaissent en dessous du contenu HTML, ainsi que l’arrière-plan par défaut. La propriété paintsDefaultBackground doit être « false » pour que les formes dessinées soient visibles.

opaqueBackground

Ne change pas la couleur de l’arrière-plan par défaut. La propriété paintsDefaultBackground doit être "false" pour que cette couche de couleur soit visible.

rotation

Les coins de la zone HTMLLoader rectangulaire peuvent être découpées par le bord de fenêtre. Le contenu SWF ou PDF chargé dans le contenu HTML n’est pas affiché.

scaleX , scaleY

L’affichage restitué peut apparaître pixelisé pour des échelles supérieures à 1. Le contenu SWF ou PDF chargé dans le contenu HTML n’est pas affiché.

transform

Peut réduire la lisibilité du contenu HTML L’affichage HTML peut être coupé par le bord de la fenêtre. Le contenu SWF ou PDF chargé dans le contenu HTML n’est pas affiché si la transformation implique un pivotement, un redimensionnement ou une inclinaison.

L’exemple suivant illustre la façon de paramétrer le tableau filters pour flouter l’affichage HTML au complet :

var html:HTMLLoader = new HTMLLoader(); 
var urlReq:URLRequest = new URLRequest("http://www.adobe.com/"); 
html.load(urlReq); 
html.width = 800; 
html.height = 600; 
 
var blur:BlurFilter = new BlurFilter(8); 
var filters:Array = [blur]; 
html.filters = filters;