2013-05-06 15 views
5

Jestem zupełnie nowym użytkownikiem w node.js. Próbuję zaimplementować wydajne narzędzie przeglądarka użyciu node.js, więc mam następujący fragment kodu:jak utworzyć ActiveXObject za pomocą node.js?

for(var j=0; j < 14; j++) { 
     // Create a new instance of HttpWatch in Firefox 
     var control = new ActiveXObject('HttpWatch.Controller'); 
     var plugin = control.Firefox.New(); 
     // Start Recording HTTP traffic 
     plugin.Log.EnableFilter(false); 
     // Clear Cache and cookier before each test 
     plugin.ClearCache(); 
     plugin.ClearAllCookies(); 
     plugin.ClearSessionCookies(); 
     plugin.Record(); 
     // Goto to the URL and wait for the page to be loaded 
     plugin.GotoURL(url); 
     control.Wait(plugin, -1); 
     // Stop recording HTTP 
     plugin.Stop(); 
     if (plugin.Log.Pages.Count != 0) 
     {   
      // Display summary statistics for page 
      var summary = plugin.Log.Pages(0).Entries.Summary; 
      //WScript.Echo("Iteration number " + j + "for" + url + " Total time to load page in (secs): " + summary.Time); 
      cache[i].value.push(summary.Time); 
     } 
     // Close down Firefox 
     plugin.CloseBrowser(); 
     } 

używam httpwatch do pomiaru wartości funkcjonalnych, które będą przechowywane w MySQL bazy danych. Jednak, gdy biegnę:

node test.js 

uzyskać:

C:\xampp\htdocs\test\browser-perf>node test.js 

C:\xampp\htdocs\test\browser-perf\test.js:37 
       var control = new ActiveXObject('HttpWatch.Controller'); 
           ^
ReferenceError: ActiveXObject is not defined 
    at Object.<anonymous> (C:\xampp\htdocs\test\browser-perf\test. 
js:37:21) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:901:3 

Jak mogę utworzyć podobny obiekt jako ActiveXObject w node.js i uzyskać takie same pożądane rezultaty?

+0

Z tego co czytam nie jestem pewien, czy naprawdę zrozumiał, co node.js i kto to działa. Czy widziałem to pytanie: http://stackoverflow.com/q/1884724/45786 – TheHippo

+0

Powiązane: http://stackoverflow.com/q/14356064/ –

Odpowiedz

10

https://npmjs.org/package/win32ole

wypróbować pakiet win32ole, aby zainstalować, otwórz cmd node.js, i wpisz następujące polecenie, aby zainstalować pakiet.

npm install win32ole 

Przykład użycia:

var win32ole = require('win32ole'); 
var xl = win32ole.client.Dispatch('Excel.Application'); 
xl.Visible = true; 

Proszę również zobaczyć tego posta: Using COM object in NodeJS

1

Nie jestem użytkownikiem node.js, więc nie mogę komentować konkretnie pliku node.js, ale funkcja ActiveXObject jest funkcją mechanizmu JScript Microsoft Active Scripting, a także nowego silnika Chakra w IE9, więc nie jest dostępny na innych platformach, ponieważ jest bardzo specyficzny dla systemu Windows.

+0

prawda, ale próbuję uruchomić go z terminalu Windows – cybertextron

+1

Node.js działa w V8; Nie ma znaczenia, z jakiego systemu operacyjnego go uruchomisz, nadal nie będziesz mieć dostępu do funkcji innego silnika. –

Powiązane problemy