HTMLLoader 物件會繼承 Adobe® Flash® Player Sprite 類別的顯示屬性。舉例來說,您可以調整背景大小、移動背景、隱藏背景,以及變更背景顏色。或者,您也可以套用進階特效,例如濾鏡、遮色片、縮放和旋轉。套用特效時,請考量對易讀性造成的影響。套用某些特效時,載入至 HTML 網頁的 SWF 和 PDF 內容將無法顯示。
HTML 視窗包含可用於呈現 HTML 內容的 HTMLLoader 物件。這個物件受限於視窗區域中,因此變更尺寸、位置、旋轉方式或縮放係數時,不一定都會產生所希望的結果。
基本顯示屬性
HTMLLoader 的基本顯示屬性可以讓您將控制項置於其父輩顯示物件中、設定大小,及顯示或隱藏控制項。您不應該變更 HTML 視窗之 HTMLLoader 物件的基本顯示屬性。
這些基本顯示屬性包括:
屬性
|
備註
|
x
、
y
|
將物件置於其父輩容器中。
|
width
、
height
|
變更顯示區域的尺寸。
|
visible
|
控制物件及其包含之內容的可見性。
|
在 HTML 視窗以外,HTMLLoader 物件的
width
和
height
屬性的預設值為 0。您必須先指定所載入之 HTML 內容的寬度和高度,才能看到其內容。HTML 內容會依照 HTMLLoader 的大小來繪製,並且根據內容中的 HTML 和 CSS 屬性來配置。變更 HTMLLoader 的大小時,內容會經過重新排列。
將內容載入至新的 HTMLLoader 物件 (其中
width
仍然設定為 0) 時,許多人往往會想要使用
contentWidth
和
contentHeight
屬性設定 HTMLLoader 的顯示
width
和
height
。這項技巧適用於在根據 HTML 和 CSS 排列規則進行配置時,具有合理最小寬度的網頁。不過,在 HTMLLoader 沒有提供合理寬度的情況下,某些網頁的內容排列會呈現窄長的配置。
備註:
當您變更 HTMLLoader 物件的寬度和高度時,scaleX 和 scaleY 值不會變更,就像其它大多數類型的顯示物件一樣。
HTMLLoader 內容的透明度
HTMLLoader 物件的
paintsDefaultBackground
屬性 (預設為
true
) 可決定 HTMLLoader 物件是否繪製不透明背景。當
paintsDefaultBackground
為
false
時,背景會是透明的。在 HTML 內容之前景元素的後方,可以看見 HTMLLoader 物件下方的顯示物件容器或它顯示物件。
如果 HTML 文件的 body 元素或其它任何元素指定背景顏色 (例如,使用
style="background-color:gray"
),則 HTML 的該部分便不透明,並且呈現為指定的背景顏色。如果您設定 HTMLLoader 物件的
opaqueBackground
屬性,而且
paintsDefaultBackground
為
false
,則針對
opaqueBackground
所設定的顏色便為可見。
備註:
您可以使用透明的 PNG 格式圖像,為 HTML 文件中的元素提供經過 Alpha 混合後的背景。不支援設定 HTML 元素的不透明樣式。
縮放 HTMLLoader 內容
請避免使用 1.0 以上的縮放係數來縮放 HTMLLoader 物件。如果放大 HTMLLoader 物件,HTMLLoader 內容會以特定解析度呈現,並呈現像素化。重新調整視窗時,若要避免縮放 HTMLLoader 及其內容,請將 Stage 的
scaleMode
屬性設定為
StageScaleMode.NO_SCALE
。
在 HTML 網頁中載入 SWF 或 PDF 內容時必須考量的事項
在下列情況中,載入至 HTMLLoader 物件中的 SWF 和 PDF 內容會消失:
如果您移除違反規定的屬性設定,並移除使用中的濾鏡,內容就會重新顯示。
此外,執行階段無法在透明視窗顯示 PDF 內容。當 object 或 embed 標籤的
wmode
參數設定為
opaque
或
transparent
時,執行階段只顯示內嵌於 HTML 網頁的 SWF 內容。因為
wmode
預設值為
window
,所以 SWF 內容不會顯示在透明視窗中,除非您明確設定 wmode 參數。
備註:
AIR 1.5.2 之前的版本,無論使用哪一個 wmode 值,都無法顯示內嵌於 HTML 的 SWF。
如需有關在 HTMLLoader 中載入這些媒體類型的詳細資訊,請參閱
在 HTML 中嵌入 SWF 內容
和
在 AIR 中新增 PDF 內容
。
進階顯示屬性
HTMLLoader 類別會繼承可供特殊特效使用的數個方法。一般而言,當搭配 HTMLLoader 顯示使用時,這些特效具有幾項限制。但是針對轉場或其它暫時性特性而言,這些特效就很有用。例如,如果您顯示對話方塊以取得使用者輸入,那麼直到使用者關閉對話方塊為止,您都可以讓主要視窗呈現模糊的狀態。同樣地,關閉視窗時,可以用淡出的方式關閉。
進階顯示屬性包括:
屬性
|
限制
|
alpha
|
可能會降低 HTML 內容的可讀性。
|
filters
|
在 HTML Window 中,外部特效會遭視窗邊緣裁剪。
|
graphics
|
使用圖像命令繪製的形狀 (包含預設背景) 會在 HTML 內容下方顯示。paintsDefaultBackground 屬性必須設定為 false,才能看見所繪製的形狀。
|
opaqueBackground
|
不會變更預設背景的顏色。paintsDefaultBackground 屬性必須設定為 false,才能看見這個顏色圖層。
|
rotation
|
矩形 HTMLLoader 區域的角落可能會遭視窗邊緣裁剪。在 HTML 內容中載入的 SWF 和 PDF 內容將不會顯示。
|
scaleX
、
scaleY
|
使用大於 1 的縮放係數時,顯示內容可能呈現像素化。在 HTML 內容中載入的 SWF 和 PDF 內容將不會顯示。
|
transform
|
可能會降低 HTML 內容的易讀性。HTML 顯示可能會遭視窗邊緣裁剪。如果轉換涉及旋轉、縮放或傾斜,在 HTML 內容中載入的 SWF 和 PDF 內容便不會顯示。
|
下列範例會示範如何設定
filters
陣列以模糊化整個 HTML 顯示:
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;
|
|
|