什麼是 ActiveX 控制項?
ActiveX 控制項廣泛用於 Internet。它們可以通過提供視頻、動畫內容等來增加瀏覽的樂趣。不過,這些程式可能出問題或者向您提供不需要的內容。在某些情況下,這些程式可被用來以您不允許的方式從電腦收集資訊、破壞您的電腦上的資料、在未經您同意的情況下在您的電腦上安裝軟體或者允許他人遠端控制您的電腦。考慮到這些風險,您應該在完全信任發行商的情況下才安裝這些程式。
當 Windows 阻止 ActiveX 控制項的安裝時,您應該做什嗎?
您可能不應該安裝該 ActiveX 控制項。安裝 Windows 阻止的 ActiveX 控制項是極為冒險的事情。如果 Internet Explorer 安全設定處於預設層級,並且 ActiveX 控制項沒有有效數位簽章,Windows 就會阻止該 ActiveX 控制項的安裝。
有效數位簽章可確認發行商的標識(分發檔案的公司、網站或個人),並確認檔案自簽名以後沒有被篡改過這一事實。如果檔案沒有有效數位簽章,您就無法確定檔案是否真的來自它所聲明的來源,或者它是否沒有被篡改過(例如,可能會有病毒插入控制項中)。除非您信任發行商,並且知道檔案開啟後內容會是安全的,否則,就不應該開啟檔案。
說明:下面這句話的意思是產生一個相關的Active對象,根據相關的瀏覽器版本
xmlHttp = newActiveXObject(aVersions[i]);
這行JS代碼是產生一個XMLHttpRequest對象..
括弧裡面的是ActiveX外掛程式的名字.
完整的應該這樣寫:
複製代碼 代碼如下:
var xmlHttp;
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.");
}
補充:判斷的原因是,各種瀏覽器對JavaScript的支援不一樣..所以XmlHttpRequest對象的產生方式也不一樣.比如IE.他支援的是ActiveX的方式.
["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];這些是他ActiveX的版本.
而有些瀏覽器.象FireFox,瀏覽器本身有對XmlHttpRequest的支援.瀏覽器有內建對象.所以用"xmlHttp = new XMLHttpRequest(); "就可以了
if(window.XMLHttpRequest)是判斷瀏覽器是否內建XmlHttpRequest對象