iT邦幫忙

0

Java Script ActiveXObject物件問題

請問各位前輩,目前我使用IE瀏覽器,編寫這行
fso_A = new ActiveXObject("Scripting.FileSystemObject");
做物件宣告的時候,會出現ActiveXObject is not defined,上網查過很多資料都無法產生這個物件,scrrun.dll也有顯示安裝成功,IE是最新版本,Active篩選器也無勾選,
使用Visual Studio code coding,我需要使用這個物件達到下列這些功能
檔案建立
f1 =fso.CreateTextFile("c:\testfile.txt", true);
檔案刪除
fso.DeleteFolder ("C:\Bogus");
CopyFile 複製文件
CopyFolder 複製目錄
CreateFolder 創建新目錄
CreateTextFile 生成文件
DeleteFile 刪除文件
DeleteFolder 刪除目錄

但在編譯時都會出現 ActiveXObject is not defined,請各位前輩幫幫我,謝謝

用網頁又要對檔案做動作,不應該用js吧,網站是架在iis上?
dance0531 iT邦新手 5 級 ‧ 2018-04-25 13:29:07 檢舉
是要用網頁結取到某樣資料後存為檔案,以利用檔案去跟另外的語言溝通~

2 個回答

0
浩瀚星空
iT邦研究生 5 級 ‧ 2018-04-23 13:15:38
最佳解答

依據本機安全性原則的情況。
我記得要使用該功能。是需要瀏覽器核可才行的。
一般是需要將其域名或瀏覽器改成低安全級以下。
此物件才會有作用。

但使用 Visual Studio 開發的,是否可以強制指定。
我記得是不能的。

其實這個物件現在大多還是放棄不用了。因為還是有安全性上的問題存在。
最好還是另尋求其它方式。

看更多先前的回應...收起先前的回應...
dance0531 iT邦新手 5 級 ‧ 2018-04-23 14:07:45 檢舉

我已經將所有安全值調到中以下,但還是一樣出現這個問題,請問前輩JS是不是有除了ActiveXObject以外的方法能做到,建檔,寫檔,開檔(皆為.txt)這三樣,網路上都翻爛了,請前輩指點

fillano iT邦超人 1 級 ‧ 2018-04-23 15:09:59 檢舉

要先問一下,你要做什麼應用?非要用這個方式做嗎?

另外,不能用cscript來執行你寫的東西嗎?

浩瀚星空 iT邦研究生 5 級 ‧ 2018-04-23 17:56:55 檢舉

其實現在因為本機安全性原則的問題。
現在除了外掛的方式之外,已經沒有任何方式可以讓檔案寫在個人電腦上了。

ie是因為它還可以取用自家的東西。所以還有這樣的物件可以用。
但這還得需要將安全等級調到最低才可以使用。
相信也沒有用戶希望這樣子處理。且也沒有用戶希望一個網站可以來動我電腦裏面的東西。

如果你並非是要使用瀏覽器來運行的情況下。就可以用本機程式來處理就行了。

dance0531 iT邦新手 5 級 ‧ 2018-04-24 10:38:46 檢舉

回兩位前輩,我本身是寫C++的,因為客戶整合的關係,要求不用C++UI顯示資料,現在要改用手機連網取得所需資料,並用JS去處理所需資料回傳到我方的C++程式,但以前C++是以檔案對檔案溝通,第一個想法是也要使用JS寫檔案C++去該路徑取得檔案做溝通,才會搜尋到ActiveXObject這個物件可以達到需求,因本身對JS也不是很了解,只知道無法啟用,也不知道該怎麼樣能將記錄好的資料丟回C++處理(不知道JS與C++的溝通方式)

浩瀚星空 iT邦研究生 5 級 ‧ 2018-04-24 13:36:22 檢舉

一般來說,如果儲值的參數不多的情況下。可以改用cookie處理。
原則上你的環境性質不同才會造成這樣的結果。
不能說你之前的做法是錯的。因為就單機應用來說。
程式是在客戶端運行,原本也自然就會有本機儲存檔案的權限跟能力。

但網頁則是不同工作環境的。只要你想要用網頁來處理的話。就一定無法再去想要用本機儲檔的方式處理。
原因並不是不行,而是不可以。因為使用網頁來讀寫本機檔案的行為。就像是叫別人來遠端放置檔案的行為。

dance0531 iT邦新手 5 級 ‧ 2018-04-24 15:26:18 檢舉

謝謝前被灌輸我正確的觀念,只能換個方式走了,謝謝大家的熱心

0
jhit03
iT邦新手 5 級 ‧ 2018-04-24 08:15:11

在IE的安全性設定中
1.要加該網站加入"信任的網站"
2.然後點下面的"自訂等級",啟用相關的ActiveX的功能

看更多先前的回應...收起先前的回應...
dance0531 iT邦新手 5 級 ‧ 2018-04-24 10:47:04 檢舉

請問該啟用哪些相關的功能,麻煩您指點

浩瀚星空 iT邦研究生 5 級 ‧ 2018-04-24 12:01:07 檢舉

其實你就算知道如何啟用,就如我上面說的。
你並不能要求所有人客人都得這樣設定。

dance0531 iT邦新手 5 級 ‧ 2018-04-24 13:06:37 檢舉

我也有想過,就算我設定好了,是不是客戶也得這樣設定,這也是很頭大

jhit03 iT邦新手 5 級 ‧ 2018-04-27 13:18:13 檢舉

你可以看關鍵字有ActiveX,全部都啟用試試看,
至少下這兩個要啟用,
1執行ActiveX控制項與外掛程式
2允許不提示就執行從未使用過的ActiveX控制項
如果還不行,就先把關鍵字有ActiveX都啟用看看囉

PS安全性問題要自己負責任喔

jhit03 iT邦新手 5 級 ‧ 2018-04-27 13:21:34 檢舉

星空大大說的沒錯,所以通常類似這種功能的,我都只會用在公司內部,如果功能是外面一般使用者的話,人家覺得麻煩就不會想用了,或者覺得有風險也不會願意設定

dance0531 iT邦新手 5 級 ‧ 2018-04-27 14:20:31 檢舉

謝謝各位前輩的指導,目前有其他方案去替代了,謝謝大家,又學了一課

我要發表回答

立即登入回答