1. 程式人生 > >NTKO OFFICE文件控制元件為何不能自動裝載?

NTKO OFFICE文件控制元件為何不能自動裝載?

1、問題表現:

當訪問引用控制元件的網頁時,NTKO OFFICE文件控制元件視窗不會出現,導致相關的引用控制元件的Javacript語句無法執行。網頁上出現類似“無法載入控制元件,請檢查瀏覽器安全設定”的錯誤提示,並且可能有JavaScript無法找到物件的錯誤提示。


2、此問題和控制元件本身無關。為了解決NTKO OFFICE文件控制元件不能自動裝載的問題,首先來看看瀏覽器裝載物件涉及到的步驟。(暫時不考慮如防病毒軟體或者其他過濾工具的影響)

對於HTML程式碼中引用控制元件的如下程式碼:<object id="TANGER_OCX" classid="clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404" codebase="/path/to/OfficeControl.cab#version=4,0,0,5" width="100%" height="100%">
其中:
1) id="TANGER_OCX"標識控制元件的JavaScript程式設計標識,通過document.all("TANGER_OCX")即可得到對控制元件物件的引用。
2)clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404標識NTKO OFFICE文件控制元件的唯一標識。瀏覽器通過這個clsid來判斷訪問網頁的客戶機是否已經安裝控制元件。
3)在codebase="/path/to/OfficeControl.cab#version=4,0,0,5"中,前面的/path/to/OfficeControl.cab部分,標識控制元件自動安裝檔案在伺服器上相對當前網頁的URL位置,而
#version=4,0,0,5部分標識該網頁需要的控制元件版本號。瀏覽器裝載控制元件的流程大致如下:


3、根據以上流程,當出現以下幾種情況,NTKO OFFICE文件控制元件將不能自動裝載:

1)本地Internet選項中的安全設定,在當前區域禁止下載已簽名的ActiveX控制元件;

2)引用控制元件的網頁中,<object 標記中的codebase屬性指定不正確,導致瀏覽器無法下載OfficeControl.cab檔案;

3)伺服器上的OfficeControl.cab被破壞,失去正確的簽名,或者使用了不正確的版本;

4)雖然伺服器上的OfficeControl.cab正確,但是瀏覽器下載的有問題。這個可能會因為某些WEB伺服器的mime的錯誤配置引起,導致伺服器將OfficeControl.cab不以二進位制檔案的形式傳送給瀏覽器;

5)本地Internet選項中的安全設定,在當前區域不允許執行ActiveX控制元件和外掛;

6)還有可能是由於微軟的補丁引起,或者其他防病毒軟體或者過濾軟體阻止了控制元件安裝;


4、您可以按照如下次序檢查並排除問題:

1) 確認本地Internet選項中的安全設定中,允許下載已簽名的ActiveX控制元件,並允許執行ActiveX控制元件和外掛

2)確認引用控制元件的網頁中,<object 標記中的codebase=部分,正確指向了伺服器上的OfficeControl.cab檔案的URL[相對當前網頁或者相對伺服器根]。

3)從瀏覽器位址列直接輸入伺服器上的OfficeControl.cab檔案的URL,包含主機名,確認瀏覽器出現下載提示並且在下載儲存後的OfficeControl.cab檔案上,點選右鍵看屬性,在出現的對話方塊中具有“數字簽名”,且簽名正確。

4)如果以上方法還不能解決問題,並且您的系統安裝了“微軟累積安全更新 MS05-052補丁”,請嘗試如下步驟:

警告:如果使用登錄檔編輯器或其他方法錯誤地修改了登錄檔,則可能導致嚴重問題。這些問題可能需要重新安裝作業系統才能解決。

1、單擊“開始”,單擊“執行”,鍵入 Regedit.exe,然後單擊“確定”。
2、找到以下注冊表子項:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility
3、右鍵單擊“ActiveX Compatibility”,查詢NTKO OFFICE文件控制元件的CLSID:{C9BC4DFF-4248-4a3c-8A49-63A7D317F404},如果該專案存在,右鍵單擊右邊的“Compatibility Flags”專案,然後單擊“修改”。在“數值資料”框中,選擇16進位制,輸入00800000,然後單擊“確定”。
4、如果該NTKO OFFICE文件控制元件的CLSID不存在,則右鍵單擊“ActiveX Compatibility”,指向“新建”,單擊“項”,鍵入NTKO OFFICE文件控制元件的CLSID:{C9BC4DFF-4248-4a3c-8A49-63A7D317F404},然後按 Enter。
5、右鍵單擊您在步驟 4 中建立的項,指向“新建”,然後單擊“DWORD 值”。
6、鍵入 Compatibility Flags,然後按 Enter。
7、右鍵單擊“Compatibility Flags”,然後單擊“修改”。
8、在“數值資料”框中,選擇16進位制,輸入00800000,然後單擊“確定”。
9、退出登錄檔編輯器。
5)如果以上方法還不能解決問題,嘗試暫時關閉防病毒軟體或者其他過濾軟體再進行安裝。

6)如果還是不能解決問題,可能是機器配置被破壞,可以嘗試進行手工安裝。具體請參考相關文件。