網頁中如何獲取客戶端系統已安裝的所有字體?

自這篇文章http://blog.csdn.net/johnsuna/archive/2006/05/11/724868.aspx(八月初將共享本人幾個月心血的FreeTextBox改進版,敬請屆時關注 )發布後,有人在問:如何獲取客戶端已安裝的所有字體?

如何獲取系統字體?

1.首先在需要獲取系統字體的網頁<body>後加入以下代碼:

<DIV style="LEFT: 0px; POSITION: absolute; TOP: 0px">

<OBJECT ID="dlgHelper" CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" WIDTH="0px" HEIGHT="0px">

</OBJECT>

<script src="FontFacesMenu.js" language="javascript" type="text/javascript"></script>

</DIV>

2.將以下內容保存爲:FontFacesMenu.js文件。

// FontFacesMenu.js

var fontsArray = new Array();

var fontsIsAdded = false;

function fontFacesMenuEnter(fontFacesDropdownList, dlgHelperId)

{

if((fontsIsAdded == false )||(fontsArray==''))

{

fontsArray = getSystemFonts(dlgHelperId);

fontsIsAdded = true;

for (var s=1; s < fontsArray.length; s++)

{

newOption = document.createElement("option");

newOption.value = fontsArray[s];

newOption.text = fontsArray[s];

fontFacesDropdownList.add(newOption);

}

}

}

function getSystemFonts(dlgHelperId)

{

var a = document.all(dlgHelperId).fonts.count;

var fArray = new Array();

for (i = 1;i <= parent.document.all(dlgHelperId).fonts.count;i++){

fArray[i] = parent.document.all(dlgHelperId).fonts(i);

}

return fArray;

}

3.在網頁需要插入字體下拉菜單的位置處插入以下代碼:

系統字體:

<SELECT ID="blessingWords_FontFamily_DL" name="blessingWords_FontFamily_DL" onChange="//SetFontFace(this[this.selectedIndex].innerText,this[this.selectedIndex].value);this.selectedIndex=0;" style="width:140px;" onmouseenter="fontFacesMenuEnter(this, 'dlgHelper');//updateFontList();">

<OPTION VALUE=""><- 設置字體 -></OPTION>

</SELECT>

OK!看到效果了沒有?如果可以,恭喜你了!

注:如果需要加上選中後的事件,在onChange中改變成你自己的相應事件處理即可。

以上對客戶端的開發有用,如果需要服務器端的字體,繼續往下看,否則略過即可。

4.如何將我的系統字體保存爲文件?(對于服務器端開發略有小用)

(1)如果你的服務器的字體配置與你現有電腦字體配置一樣的話,使用Javascript腳本,然後COPY至寫字板或記事本,再保存。

接著上面步驟繼續往下做:

(續)步驟一:將以下代碼放在<Body>區內:

<textarea name="FontList" id="FontList" cols="35" rows="20" id="FontList" style="position:absolute; left:0px; top:0px; z-index:10000"></textarea>

步驟二:

<Script>

// "blessingWords_FontFamily_DL" 需要改成你自己獲取系統字體下拉菜單的名字(如果你已經改過的話)

var dropDownListName = "blessingWords_FontFamily_DL";

function updateFontList()

{

var list="";

var blessingWords_FontFamily_DL = document.all[dropDownListName];

for(i=0; i <blessingWords_FontFamily_DL.options.length; i++)

{

list += '<OPTION VALUE="' + blessingWords_FontFamily_DL.options[i].text + '">'+ blessingWords_FontFamily_DL.options[i].text + '</OPTION>\r\n';

}

document.all("FontList").value = list;

}

</Script>

步驟三:將上面第3條中最後的"//updateFontList();"中的兩個斜杠隱掉,變成:

onmouseenter="fontFacesMenuEnter(this, 'dlgHelper');updateFontList();"

步驟四:保存你的網頁,刷新它,再試試看。在“FontList”的TextArea區域應該已經有了你的所有系統字體了,先複制再貼粘到你需要的地方。

比如:第3條中<OPTION VALUE=""><- 設置字體 -></OPTION>的下面,這樣,你就可以將它變成服務器上的相關字體(如果你的服務器的字體配置與你現有電腦字體配置一樣的話)了。

(2)使用C#代碼獲取服務器系統中的字體(暫時略過,有空再寫)。它的優點是可以直接獲取服務器端的字體,以保持開發的一致性。

Lotus Notes系統客戶端的安裝、使用與維護
羅 冰1,高 琰2(1.江西省氣象局,江西 南昌 330046;2.江西省氣象信息網絡中心,江西 南昌 330046)   摘 要:介紹了Lotus Notes的特點及客戶端的安裝和常用操作方法,並針對使用和維護過程中的常見問題進...查看完整版>>Lotus Notes系統客戶端的安裝、使用與維護
 
如何在非中文平台上安裝中文字體
   這本來不是一個Java問題,不過跟上面的中文顯示問題相關。下面僅就真字體的安裝    做一個簡單說明:       1 Windows 9x/2000/NT平台       在Windows 9x/2000/NT平台上,開始菜單 - 配置 - 控制面版...查看完整版>>如何在非中文平台上安裝中文字體
 
如何在 Windows 中安裝或刪除字體
重新安裝 Windows 附帶的標准字體  Windows 中附帶了下列字體。每台計算機上都安裝這些字體。 •Courier New(TrueType,包括粗體、斜體和粗斜體這幾種變體)•Arial(TrueType,包括粗體、斜體和粗斜體...查看完整版>>如何在 Windows 中安裝或刪除字體
 
如何在非中文平台上安裝中文字體
  這本來不是一個Java問題,不過跟上面的中文顯示問題相關。下面僅就真字體的安裝  做一個簡單說明:  1 Windows 9x/2000/NT平台  在Windows 9x/2000/NT平台上,開始菜單 - 配置 - 控制面版,在控制面板中選...查看完整版>>如何在非中文平台上安裝中文字體
 
雙系統用戶如何共享字體文件信息-系統技巧
雙系統用戶如何共享字體文件信息-系統技巧
  其實,我們還可以在一個系統中同時打開兩個系統的字體文件夾,找到相同的字體文件,把它們複制到新建的共享文件夾中,然後分別在兩個系統中刪除它們,再用“平分秋色”法從共享文件夾中重裝它們,這樣可以大大減...查看完整版>>雙系統用戶如何共享字體文件信息-系統技巧
 
如何防止網頁篡改系統技術的比較
  一、三種技術  1. 外挂輪詢技術  外挂輪詢技術是利用一個網頁檢測程序,以輪詢方式讀出要監控的網頁,與真實網頁相比較,來判斷網頁內容的完整性,對于被篡改的網頁進行報警和恢複。  2. 核心內嵌技術  ...查看完整版>>如何防止網頁篡改系統技術的比較
 
如何保障新安裝的WinXP系統上網安全
  當您安裝新的 Windows XP Home、Professional 計算機時,需要確保系統安裝了最新的更新軟件和安全軟件,以便在連接至 Internet 之前防禦病毒和其它潛在威脅。連接至 Internet 後,定期更新操作系統和防病毒軟件也...查看完整版>>如何保障新安裝的WinXP系統上網安全
 
在網頁中調用系統調色板和測試所有安裝字體
    其實只是用到clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b這個控件的一些屬性和方法而已,對于此控件的任何疑問,請查詢MSDN  <style>  body,span,button{font-size:9pt;font-family:'Courier New...查看完整版>>在網頁中調用系統調色板和測試所有安裝字體
 
無須安裝客戶端 打開網頁就能聊天-QQ聊天
無須安裝客戶端 打開網頁就能聊天-QQ聊天
上網聊天是網蟲們每天的必修課,在網頁聊天沒有誕生之前,需要下載、安裝IM客戶端軟件才能在線勾通,如果想在沒有安裝客戶端的電腦上臨時聊天,或是公司網絡“封殺”端口,聊天軟件被限制使用,在線交流就變得很不方...查看完整版>>無須安裝客戶端 打開網頁就能聊天-QQ聊天
 
 
回到王朝網路移動版首頁