Articles of javascript

NodeJS,Windows,wmic stdin

我在NodeJS中遇到了Windows程序WMIC.exe(用于查询Windows Management Instrumentation)的问题。 我可以产生一个wmic.exe进程,但它不会输出任何东西或接受任何input。 但是,如果我将stdin设置为null,它将正确运行,我会收到输出。 var spawn = require('child_process').spawn; var wmic = spawn('wmic', [], {stdio: ['ignore']}); wmic.stdout.on('data', function(data) { console.log('Data received:' + data); }); wmic.on('close', function(code) { console.log('Spawned process ended with code: ' + code); }); 我想交互使用wmic.exe,它支持,保持打开,所以我不必为每个WMI查询重复启动它。 其他人也有与wmic.exe类似的问题,但他们只想捕获一个单一的查询输出,所以有一个null stdin无关紧要。 更新 如果我做以下… var spawn = require('child_process').spawn; var wmic = spawn('wmic', []); wmic.stdout.on('data', function(data) { console.log('Data received:' […]

我可以从Web应用程序打开Windows资源pipe理器窗口吗?

我为我的一个客户build立了一个CRM,现在他们已经请求了一个有趣的function: 对于每个客户logging,他们在本地计算机上具有匹配的文件目录。 他们希望能够在Windows资源pipe理器中直接从Web应用程序中打开该文件夹(应用程序不需要访问目录/文件;只需启动Windows资源pipe理器,以便用户可以与其文件进行交互)。 在浏览器中运行的常规JavaScript显然是不可能的(幸好)。 我认为可能有某种方法可以通过为此构buildChrome扩展程序来实现此目的,但似乎Chrome扩展程序/应用程序只能访问沙盒文件系统,这根本无法满足我的需求。 由于Chrome停止了对NPAPI的支持,所以build立一个NPAPI插件是不可能的 。 文件URI也不能解决这个问题。 他们的显示是丑陋的,没有拖放,没有大的图标/缩略图,没有sorting等。他们需要Windows资源pipe理器的全部function。 我想到的唯一可行的select是创build一个本地node.js服务器,对该服务器做一个localhost CORS请求,然后从节点运行一个exec命令。 更好的主意?

如何运行JavaScript的Windows控制台

我想要在Windows 7上有一个控制台窗口(命令行),这将允许我像使用Python控制台一样使用JavaScript。 更新:从控制台(或通过脚本运行)访问文件很重要。

如何绑定winjs中的repeater元素的点击事件?

我可以通过这种方式创build中继器: <div class="gameField" id="gameField" data-win-control="WinJS.UI.Repeater" data-win-options="{ data: GameField.cells}"> <div class="gameCell"> <img data-win-bind="src: symbol GameField.cellSymbolToImg" width="100" height="100" /> </div> </div> 和js var Cell = WinJS.Class.define(function(number) { this.number = number; this.symbol = ""; }); var getCellsList = function () { var cells = []; for (var i = 1; i < 10; i++) { var cell = […]

如何使用childprocess和nodejs执行Windows PowerShell命令?

我正尝试通过nodejs脚本运行powershell命令。 我发现以下两篇文章向我展示了一些类似于我尝试实现的内容: 使用Nodejs 执行 Windows命令 从nodejs执行powershell脚本 在一个button点击事件中,我试图列出当前连接到系统的USB设备及其驱动器盘符(C,D,E等)。 如果我自己在PowerShell中运行命令,它可以工作(虽然我无法得到它显示驱动器号)。 但是,如果我将其作为脚本的一部分运行,则不起作用。 以下是我的代码: if (process.platform === 'win32' || process.platform === 'win64') { exec("powershell.exe",["GET-WMIOBJECT win32_diskdrive | Where { $_.InterfaceType –eq 'USB' }"], function (err, stdout, stderr) { console.log(err); console.log(stdout); console.log(stderr); }); } 我究竟做错了什么?

javascript函数里面的href属性

我正试图调用一个锚定标记的“href”属性内的JavaScript函数,但当我尝试这样做时,我收到一个错误。 HTML: <a href="javascript:void('Cut')"</a> 控制台显示以下错误: APPHOST9602: 'javascript:' is an invalid attribute value and will be ignored. Don't use 'javascript:' URIs in the local context. 这个错误发生在一个Windows Cordova的Web应用程序。 重要说明 :我不能更改或删除href属性,因为它是由外部库(CKEditor)添加的。

断言在使用child_process exec时不能在mocha中工作

我有一些unit testing代码的麻烦,它使用了一个使用child_process exec的模块。 当我创build一个在exec调用之内或之后使用断言的unit testing时,Mocha不能正常工作。 当一个断言被触发,摩卡只会继续运行,直到达到给定的超时。 当assert没有被触发时,一切都将正常工作。 例如,在这个testing案例中,摩卡将运行,直到达到超时: it('someTest', function (done) { var exec = require('child_process').exec; exec('ping 8.8.8.8', () => { assert.deepEqual(1, 2, 'test'); done(); }); }); 那么当断言在exec之外时,同样的问题仍然存在: it('someTest2', function (done) { var exec = require('child_process').exec; var promise = new Promise((promiseDone) => { exec('ping 8.8.8.8', () => { var success = 1 === 2; promiseDone(success, […]

UWP WebView Javascript“对象不支持属性或方法”

我需要在UWP(Windows 10)WebView中使用JavaScript来调用C#方法。 我按照如何使用AddWebAllowedObject指令,但是当JavaScript调用C#函数,我得到这个JavaScript错误: 0x800a01b6 – JavaScript运行时错误:对象不支持属性或方法“getAppVersion” 正如你在javascript中看到的,“window.SCObject”是一个有效的对象,但是“window.SCObject.getAppVersion()”会抛出一个错误! 任何想法为什么? 这是我的代码C#代码: namespace Test { [AllowForWeb] public sealed class HtmlCommunicator { public string getAppVersion() { PackageVersion version = Package.Current.Id.Version; return String.Format("{0}.{1}.{2}.{3}", version.Major, version.Minor, version.Build, version.Revision); } } public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); this.HtmlWebView.Navigate(new Uri("ms-appx-web:///Assets/HTMLPage1.html")); } private HtmlCommunicator communicationWinRT = new HtmlCommunicator(); […]

在Windows中查看LCOV文件

背景:我已经使用JsTestDriverCoverage并为我的Javascriptunit testing生成了testing覆盖率报告。 但是它是LCOV格式。 作为在Windows 2003上运行的Windows用户,我不能只读它的perl / lunix友好的文件。 问:是否有任何方法将文件转换为更易读的格式(使用命令行)或使用其他应用程序来读取文件? 谢谢。

在Windows中包含JS库

我需要创build一个简单的实用程序,使我的生活更容易一些。 它创build一个文件夹,从DateJS库的下个星期一date生成名称。 我显然是在Windows本地使用这个工具。 有什么方法将这个DateJS库包含到我的实用JS文件中?