自這篇文章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#代碼獲取服務器系統中的字體(暫時略過,有空再寫)。它的優點是可以直接獲取服務器端的字體,以保持開發的一致性。
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
自這篇文章[url=http://blog.csdn.net/johnsuna/archive/2006/05/11/724868.aspx]http://blog.csdn.net/johnsuna/archive/2006/05/11/724868.aspx[/url](八月初將共享本人幾個月心血的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#代碼獲取服務器系統中的字體(暫時略過,有空再寫)。它的優點是可以直接獲取服務器端的字體,以保持開發的一致性。