sIFR
sIFR表示scalable INMAN Flash Replacement,即“可伸縮Inman Flash替換”技術。是由Mike Davidson在IFR方法的基礎之上擴展的一種技術。它通過Flash + JS + CSS聯合實現在不替換頁面中文本元素的情況下,對文本進行更為細膩準確的效果渲染。
使用sIFR你可以任意定義WEB中的文本字型,即便是客戶端瀏覽器未安裝的字型。sIFR使用Flash渲染字型效果,可以平滑消除文本鋸齒,你可以像使用用CSS控制文本一樣輕鬆得到各種文本效果。
sIFR技術實現原理
基於Flash允許將字型嵌入SWF檔案,所以事先將字型載入並生成Flash的SWF檔案。然後通過JS控制進行頁面文本的二次渲染。實現的方法是載入JS檔案,通過JavaScript對Web頁面進行搜尋,找到設定元素或者設定類名的元素中的所有文本。然後JavaScript將文本重新渲染並在最終瀏覽頁面上輸出成為一個小的Flash檔案。並且在此渲染過程中並不需要為每段文本創建一個單獨的Flash檔案,而是將被渲染的文本放回到一個重複的Flash檔案中。因此,觸發圖像替換所要做的只是添加一個類,Flash和JavaScript會完成餘下的工作。通過編寫JS檔案和CSS控制,可以在只調用同一個Flash的情況下實現對多行文本進行多種字型大小,字色的複雜表現。因為它並沒不是文本的替換,所以文本在頁面中仍然可以選中,複製。甚至可以重新被CSS定義。
sIFR的使用方法
要想在站點上使用sIFR,需要從www.mikeindustries.com/sifr下載最新的版本。在站點上安裝sIFR是非常簡單的,但是應該先閱讀幫助文檔。首先需要做的是打開Flash的fla檔案、嵌入希望使用的字型並且輸出生成swf檔案。為了讓sIFR能夠正確地工作,接下來需要套用包含的列印和螢幕樣式,或者創建自己的樣式。現在,將sifr.js這個JavaScript檔案添加到希望使用sIFR的每個頁面中。可以在sifr.js這個檔案進行許多配置,可以指定要替換的元素、類、文本顏色、填充、大小寫以及其他許多樣式屬性。再通過CSS對文本進行樣式化。完成配置之後,瀏覽頁面,就會看到原來的字型換成了動態的Flash內容。
sIFR的優點
sIFR不需要更改(X)HTML代碼,所有的工作由Javascript、Flash和CSS來完成;
如果用戶沒有安裝Flash或者不支持Javascript,那么(X)HTML的文本就會被CSS樣式化後顯示出來。
sIFR是可縮放的,可以在渲染時更改為用戶設定的缺省字體尺寸。
sIFR兼容所有的螢幕閱讀機,至今還沒有問題被報導出來。
sIFR的文本可以被滑鼠選擇,儘管當全選文本時,選中的狀態看上去不那么確切。
sIFR不影響搜尋引擎的定位和評定,不會隱藏真實的文本內容。
sIFR的缺點
sIFR技術的主要問題涉及裝載時間。頁面必須完全裝載,然後JavaScript才能替換文本。因此,在所有文本被替換為Flash內容之前常常有短暫的閃爍。儘管這不是個大問題,但是會被訪問者注意到,會給人留下頁面裝載慢的印象。另外,如果進行許多Flash替換,一些頁面感覺起來有點兒遲鈍。最好將替換減少到最少,只對主要標題使用這種技術。
另發現ie6下sIFR區域內不支持滑鼠滾輪。
sIFR目前不支持中文顯示。