1. 程式人生 > >new ActiveXObject("Scripting.FileSystemObject") 未能建立物件的解決方法

new ActiveXObject("Scripting.FileSystemObject") 未能建立物件的解決方法

JavaScript中ActiveXObject物件是啟用並返回 Automation 物件的引用。使用方法:
newObj = new ActiveXObject( servername.typename[, location])
ActiveXObject 物件語法有這些部分:
其中newObj是必選項。要賦值為 ActiveXObject 的變數名。
servername是必選項。提供該物件的應用程式的名稱。
typename是必選項。要建立的物件的型別或類。
location是可選項。建立該物件的網路伺服器的名稱。
Automation伺服器至少提供一類物件,例如字處理應用程式可能提供應用程式物件、文件物件和工具欄物件。

專案中有一個頁面JavaScript程式碼通過ActiveXObject建立FileSystemObject實現檔案的讀取。
function Login() {
      var fso;
      var filePath;
      try {
          fso = new ActiveXObject("Scripting.FileSystemObject");
      }
      catch (exp) {
          alert("要生成該報表,必須將瀏覽器須設定為可使用“ActiveX控制元件”。如有疑問,請點選瀏覽器的“幫助”瞭解瀏覽器設定方法!");
      } 
      filePath = fso.BuildPath("c:\\files", "test.txt"); //生成路徑 
      alert(filePath); 
 }

但每次瀏覽器都報錯未能建立物件.

F12開發者模式除錯時發現:執行至new ActiveXObject這行時,automation伺服器未能建立物件。

解決方法:

IE瀏覽器->工具->Internet選項->安全->自定義級別->設定

->“對未標記為可安全執行指令碼的ActiveX控制元件初始化並執行指令碼”設定為啟用,確定即可。

注意:
啟用此選項只可用於除錯原生代碼,在訪問其它網站前一定記得改過來。
否則惡意指令碼將通過IE具有讀、寫、遍歷你本地檔案等的全部許可權!

相關推薦

new ActiveXObject("Scripting.FileSystemObject") 未能建立物件解決方法

JavaScript中ActiveXObject物件是啟用並返回 Automation 物件的引用。使用方法: newObj = new ActiveXObject( servername.typename[, location]) ActiveXObject 物件語法有這

js 檔案操作 fso new ActiveXObject( "Scripting.FileSystemObject ")

方法或者屬性 描述 BuildPath()   生成一個檔案路徑 CopyFile()  複製檔案 CopyFolder()  複製目錄 CreateFolder()  建立新目錄 CreateTextFile()  生成一個檔案 DeleteFile()  刪除一個檔案

eclipse下new server時不可建立解決方法

在eclipse裡新建server時會在工作目錄下\.metadata\.plugins\org.eclipse.core.runtime\.settings下自動生成org.eclipse.wst.server.core.prefs和org.eclipse.jst.server.tomcat.core.p

JavaScript面向物件程式設計建立物件方法分析

面向物件的語言具有一個共同的標誌,那就是具有“類”的概念,但是在javascript中沒有類的概念,在js中將物件定義為“無序屬性的集合,其屬性可以包含基本值,物件或者函式”,即其將物件看作是一組名值對的散列表。這樣問題就來了,如何建立物件呢? 在最開始時使用object建構函式和物件字

java中建立物件方法

用最簡單的描述來區分new關鍵字和newInstance()方法的區別: newInstance: 弱型別。低效率。只能呼叫無參構造。 new: 強型別。相對高效。能呼叫任何public構造。 newInstance( )是一個方法,而new是一個關鍵字,其次,Class下

Java中5種建立物件方法,你知道幾種?

作為一個Java開發者,一種面向物件的語言,我們每天都建立很多物件。但後續我們開發中,採用了spring的依賴管理系統,我們就很少自己去建立物件了,全部交給容器去託管,那麼本篇文章回源塑本,講述一下java中能夠建立一個物件的5中方法。 本文最大的特色是,我不僅給出案例,

建立物件方法

工廠模式(單純的以函式模式進行物件建立,內部新宣告一個Object,然後新增屬性和方法,最後return這個Object) 建構函式模式(將屬性與方法都放在建構函式中,但可能會造成方法的重複建立佔用空

OPT 下無法建立目錄解決方法

Optware Bootstrap for teraprov2. Extracting archive... please wait bootstrap/ bootstrap/bootstrap.sh bootstrap/ipkg-opt.ipk bootstrap/ipkg.sh 1224+1 record

Microsoft visual studio 2015已停止工作及專案建立失敗解決方法

Microsoft visual studio 2015已停止工作問題明細資訊問題簽名:  問題事件名稱:CLR20r3  問題簽名 01:devenv.exe  問題簽名 02:14.0.23107.0  問題簽名 03:559b7ead  問題簽名 04:Presenta

同一Activity例項被多次重複建立解決方法

如此這般配置即可。在AndroidManifest.xml檔案中<activity             android:name="com.lxXxxxyActivity"            android:launchMode="singleInstance

new JSONObject()不執行 不報錯 解決方法

使用:import net.sf.json.JSONObject; 呼叫JSONObject x = new JSONObject()或者其它建構函式,不報錯直接異常。。catch了也不能打印出來,一般是json缺包。 struts2.1.6 json需要包: 1.c

三種建立物件方法解析

原文連結 我們都知道C++中有三種建立物件的方法,如下: #include <iostream> using namespace std; class A { private: int n; public: A(int m):

js中new ActiveXObject("Scripting.FileSystemObject")等操作本地文件用法,

body lse 字符串變量 ada else 不包含 支持 str cti 工作中遇到js讀取本地配置文件,然後讀取一行,的用法。 在網上看到一篇好文章,轉過來,原文地址:參考網址:http://www.jb51.net/article/48538.htm FSO

java中字串基本知識 String s=new String("abc")建立了幾個物件?

本文轉載自http://www.cnblogs.com/ydpvictor/archive/2012/09/09/2677260.html String s=new String("abc")建立了幾個物件? String str=new String("abc"); &nb

建立物件時,=null 和new的區別

1.=null只是宣告一個物件,並不實際佔用空間。 如:HBPWDto hbpwDto = null; 相當於HBPWDto hbpwDto ; 2.new,把物件例項化了,這個物件會一直佔用空間(雖然不一定使用),直到被回收。 如果只是做賦值操作,只需要宣告就行了 ,在需要的時候再賦予

國稅Tax2 0 執行時錯誤429 ActiveX部件不能建立物件解決辦法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

【C++】建立物件new關鍵字

起初剛學C++時,很不習慣用new,後來看老外的程式,發現幾乎都是使用new,想一想區別也不是太大,但是在大一點的專案設計中,有時候不使用new的確會帶來很多問題。當然這都是跟new的用法有關的。new建立類物件,使用完後需使用delete刪除,跟申請記憶體類似。所以,new有時候又不太適合,比如在

c++採用new建立物件陣列

object *p = new object[3]; p[0] =  p[1] =  上述情況是否需要定義建構函式? new object不對物件進行初始化。 new object(parameters)顯示呼叫建構函式初始化物件。 如果沒有定義預設建構函

c# 未將物件引用設定到物件的例項 使用“new”關鍵字建立物件例項。在呼叫方法前通過檢查確定物件是否為null

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; u

String a = "abc";和String b = new String("abc")建立物件

String a = "abc"; 首先會在棧中建立一個對String類物件的引用變數a,然後去查詢字串常量池中是否有"abc"。如果有,會把a指向這個物件的地址。如果字串常量池中沒有"abc",則在棧中建立三個char型的值'a','b','c',然後在堆中建立一個Stri