天天看點

ActiveX使用

包括:

1、使用ActiveX報錯

2、浏覽器自動下載下傳檔案到本地,JavaScript中的ActiveXObject對象(是否存在判斷、建立、移動、删除)

3、擷取本地檔案最後修改時間

4、增強檔案操作對IE版本的相容性

5、Ajax處理XML,XMLHttpRequest對象的建立和通路servlet并傳回xml資料到頁面展示

1、如果在IE中打開的網頁檔案使用ActiveX報錯:

解決IE浏覽器的Automation 伺服器不能建立對象:https://blog.csdn.net/weixin_41949786/article/details/80700898

此計算機上的安全設定禁止通路其他域的資料源:https://blog.csdn.net/shang_111111/article/details/8214771

檔案檢查是否存在及建立:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var fileExists = fso.FolderExists("c:/test/test.txt");
// c:/test/test.txt
// c:\\test.txt
if (!fileExists) {
   fso.CreateFolder("c:\\test");
}
           

2、浏覽器自動下載下傳檔案到本地,JavaScript中的ActiveXObject對象(是否存在判斷、建立、移動、删除):https://blog.csdn.net/zengxin2008/article/details/7182127

示例:

//發送檔案下載下傳請求
var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
xmlHTTP.open("Get", RemoteURL, false);
// RemoteURL可以為:http://127.0.0.1:8080/test.txt
// RemoteURL可以為:/DownLoadServlet?fileName=test.txt
// RemoteURL可以為:http://127.0.0.1:8080/DownLoadServlet?fileName=test.txt
xmlHTTP.send();

//儲存檔案到本地
var adodbStream = new ActiveXObject("ADODB.Stream");
adodbStream.Type = 1; //1=adTypeBinary    
adodbStream.Open();
adodbStream.write(xmlHTTP.responseBody);
adodbStream.SaveToFile(LocalURL, 2);
// LocalURL:c:\\test\\test.txt
adodbStream.Close();
adodbStream = null;
xmlHTTP = null;
           

3、擷取本地檔案最後修改時間:

<!DOCTYPE HTML>
<html>
<script>
alert(getModifiedTime("c:/HmiDownload/HMIBrowser.rar"));

function getModifiedTime(filePath){
// ActiveX必須在IE中使用。如果報錯:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.GetFile(filePath);
// c:/HmiDownload/HMIBrowser.rar
// c:\\myjstest.txt
var date = f1.DateLastModified;
var dlm = new Date(date);
var y = dlm.getFullYear();
var mon = dlm.getMonth()+1;
mon = getFormat(mon);
var d = dlm.getDate();
d = getFormat(d);
var h = dlm.getHours();
h = getFormat(h);
var min = dlm.getMinutes();
min = getFormat(min);
var s = dlm.getSeconds();
s = getFormat(s);
return y + "-" + mon + "-" + d + " " + h + ":" + min + ":" + s;
}

function getFormat(v){
v = v < 10 ? '0' + v : v;
return v;
}
</script>
</html>
           

4、增強檔案操作對IE版本的相容性:

var xmlHttp; 
createXMLHttpRequest();
function createXMLHttpRequest() { 
if(window.ActiveXObject) 
{ 
var aVersions =["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
for(int i=0;i<aVersions.length;i++) 
{ 
try 
{ 
xmlHttp = new ActiveXObject(aVersions[i]); 
return; 
} 
catch(oError) 
{ 
} 
} 
} 
else if(window.XMLHttpRequest) 
{ 
xmlHttp = new XMLHttpRequest(); 
return; 
} 
throw new Error("XMLHttp object could not becreated."); 
}
           

5、Ajax處理XML,XMLHttpRequest對象的建立和通路servlet并傳回xml資料到頁面展示:https://blog.csdn.net/qq445422083/article/details/7965231

繼續閱讀