色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 調(diào)用 dll

JavaScript 是一門腳本語(yǔ)言,可以在網(wǎng)頁(yè)中加入動(dòng)態(tài)的效果和交互性,但 JavaScript 不能直接調(diào)用操作系統(tǒng)中的 DLL。不過(guò),通過(guò)瀏覽器插件或 ActiveX 控件,可以在 JavaScript 中引用 DLL 函數(shù)庫(kù),實(shí)現(xiàn) Windows API 的調(diào)用,從而達(dá)到實(shí)現(xiàn)操作系統(tǒng)級(jí)別功能的目的。
舉例來(lái)說(shuō),比如我們想在網(wǎng)頁(yè)中調(diào)用打印機(jī)功能,JavaScript 無(wú)法直接調(diào)用操作系統(tǒng)中的打印機(jī)驅(qū)動(dòng)程序。但如果通過(guò) ActiveX 控件,就能調(diào)用打印機(jī) DLL,指定要打印的文件和打印機(jī),進(jìn)而完成打印操作。
下面演示通過(guò) ActiveX 控件調(diào)用 DLL 的簡(jiǎn)單過(guò)程。
首先,新建一個(gè) HTML 頁(yè)面,在代碼中創(chuàng)建一個(gè)按鈕,用于觸發(fā)打印操作:
<body>
<button onclick="printDoc()">打印</button>
</body>
接下來(lái),在 JavaScript 中定義一個(gè)printDoc()方法。該方法中,通過(guò)new ActiveXObject()創(chuàng)建 ADODB.Stream 對(duì)象,用于讀寫數(shù)據(jù)流;通過(guò)invoke()方法調(diào)用 DLL 中的打印函數(shù),并將打印結(jié)果寫入 ADODB.Stream;最后,設(shè)置打印機(jī)的一些參數(shù),如紙張大小、橫縱向、邊距等,調(diào)用 ADODB.Stream 的SaveToFile()方法打印文件。
<script type="text/javascript">
function printDoc() {
try {
var printerApp = new ActiveXObject("PrinterApp.Printer");
var formatDoc = new ActiveXObject("MSXML2.DOMDocument");
formatDoc.loadXML("<format></format>");
<br>
      // 調(diào)用 DLL 中的打印函數(shù),打印文件
var result = printerApp.print(formatDoc.xml);
<br>
      // 將打印結(jié)果寫入 ADODB.Stream 中
var fileStream = new ActiveXObject("ADODB.Stream"); 
fileStream.Type = 1;
fileStream.Mode = 3;  
fileStream.Open();
fileStream.WriteText(result);
fileStream.SaveToFile("C:\\Temp\\print.txt", 2); // 打印文件存放路徑
fileStream.Close();
<br>
      // 設(shè)置打印機(jī)相關(guān)參數(shù)
printerApp.PaperSize = 9; // A4 紙
printerApp.Orientation = 2; // 縱向打印
printerApp.TopMargin = 10;
printerApp.LeftMargin = 10;
<br>
      // 調(diào)用 ADODB.Stream 的 SaveToFile 方法,打印文件
fileStream = new ActiveXObject("ADODB.Stream"); 
fileStream.Type = 1;
fileStream.Mode = 3;
fileStream.Open();
fileStream.LoadFromFile("C:\\Temp\\print.txt");
printerApp.PrintRawDocument(fileStream.Read(), null);
fileStream.Close();
} catch (ex) {
alert("打印失敗!");
}
}
</script>

上面代碼中,我們通過(guò)new ActiveXObject()方法創(chuàng)建了 PrinterApp.Printer、MSXML2.DOMDocument 和 ADODB.Stream 三個(gè)對(duì)象來(lái)實(shí)現(xiàn) DLL 的調(diào)用和文件讀寫。
不過(guò),需要注意的是,在不同瀏覽器、不同操作系統(tǒng)下,ActiveX 控件的支持度是不同的,而且,ActiveX 控件需要用戶授權(quán)才能運(yùn)行,存在一定的安全風(fēng)險(xiǎn),因此在實(shí)際應(yīng)用中要格外小心。
以上就是 JavaScript 調(diào)用 DLL 的簡(jiǎn)單介紹及演示,通過(guò) ActiveX 控件的方式,JavaScript 可以調(diào)用 DLL 函數(shù)庫(kù),實(shí)現(xiàn)一些操作系統(tǒng)級(jí)別的功能。