Articles of javascript

如何使用SuperWebSocket创build一个WebSocket服务器

我正在创build一个需要WebSocket通信的应用程序。 我所需要的只是一个带有线程可能性的简单的WebSocketServer。 我发现SuperWebSocket可以满足我的需求。 但是,我对C#的不熟悉使得我们无法理解代码。 任何人都可以告诉我如何创build一个简单的服务器应该回应从浏览器/网页发送的消息。 我将非常感谢那些performance出一些好的方向的人。 我无法弄清楚他们的示例代码的用法。 编辑:这是我想要实现的东西。 如果有人说一个确切的解决scheme,我会采用那一个。 编辑: “Robar”已经给出了直接的答案。 这是我如何使用它。 this.NewSessionConnected += new SessionEventHandler<WebSocketSession>(this.WebSocketServer_NewSessionConnected); this.NewDataReceived += new SessionEventHandler<WebSocketSession, byte[]>(this.WebSocketServer_NewDataReceived); this.NewMessageReceived += new SessionEventHandler<WebSocketSession, string>(this.WebSocketServer_NewMessageReceived); this.SessionClosed += new SessionEventHandler<WebSocketSession, SuperSocket.SocketBase.CloseReason>(this.WebSocketServer_SessionClosed);

浏览器外的Javascript

我正在编写一些JavaScript代码作为命令行程序运行,与浏览器或Web无关; 它将需要像命令行实用程序一样正常访问文件和目录。 在这种情况下,对于稳定性和性能来说,Javascript的最佳Windows实现是什么?

nodejs child_process exec'java -version'

嘿,我在nodejsshell中运行下面的代码 exec = require('child_process').exec 现在我有exec var作为函数。 然后我跑 exec('java',function (error, stdout, stderr) {console.log(error)}); 和 exec('java -version',function (error, stdout, stderr) {console.log(error)}) 第一个输出是: { [Error: Command failed: The system cannot find the path specified. 但输出继续下去,我得到了真正的输出从Java即: Usage: java [-options] class [args…] (to execute a class) or java [-options] -jar jarfile [args…] (etc….) 我的第二次尝试与'java -version'我得到 { [Error: Command failed: The […]

从C ++函数返回string到JavaScript

我有一个实现了IDispatch接口的类(JSObject)。 该类暴露于运行在我的托pipe的Web浏览器控件(IWebBrowser2)中的JavaScript。 在这里看到更多关于这是如何工作的: 调用Web浏览器控件中运行的JavaScript脚本的C ++函数 我可以从我的JavaScript代码中调用JSObject,并且可以接收返回的整数/多个。 但是当函数返回一个string(BSTR)时会出错。 这是IDispatch::Invoke()代码的一部分: int lenW = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, "Returned string", -1, NULL, 0); BSTR bstrRet = SysAllocStringLen(0, lenW); MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, "Returned string", -1, bstrRet, lenW); pVarResult->vt = VT_BSTR; pVarResult->bstrVal = bstrRet; // Who calls SysFreeString(bstrRet);? 通过上面的代码,你可以alert()返回的string,但是你不能添加它。 alert(returnedString + "foo"); 只会显示“返回的string”。 “foo”部分不会添加到string中。 这个string的结尾似乎有些问题。 任何想法的人? 另外,我在这里泄漏内存,因为我没有调用SysFreeString() ? 编辑: 我暂时包含atlbase.h,所以我可以使用CComBSTR 。 上面的代码现在看起来像这样: pVarResult->vt […]

通过在Windows XP x64上使用JScript执行.hta文件,“访问被拒绝”

我有一个简单的HTML(如HTA)应用程序,在Windows XP x64机器上显示奇怪的行为。 我定期(不是每次)错误消息“访问被拒绝”。 当我启动应用程序。 在Windows XP 32bit的相同的应用程序运行得很好… 有人有任何想法或解释? 错误信息: 线路:18 Char:6 错误:访问被拒绝。 代码:0 URL:file:/// D:/test_j.hta 这是我的“test_j.hta”的代码: <html> <head> <title>Test J</title> <HTA:APPLICATION ID="objTestJ" APPLICATIONNAME="TestJ" SCROLL="no" SINGLEINSTANCE="yes" WINDOWSTATE="normal" > <script language="JScript"> function main() { //window.alert("test"); window.resizeTo(500, 300); } function OnExit() { window.close(); } </script> </head> <body onload="main()"> <input type="button" value="Exit" name="Exit" onClick="OnExit()" title="Exit"> </body> </html>

从Web浏览器控件中运行JavaScript脚本调用C ++函数

我在我的c ++应用程序中embedded了一个Web浏览器控件。 我想要在Web浏览器控件中运行的JavaScript能够调用一个C ++函数/方法。 我发现提到三种方法来做到这一点: 实现一个充当中间人的ActiveX组件。 (实现细节在这里: http : //blogs.msdn.com/b/nicd/archive/2007/04/18/calling-into-your-bho-from-a-client-script.aspx ) 使用window.external。 (也在上面的链接中讨论过,但没有提供实现) 将自定义对象添加到窗口对象 我想用第三种方法,但是我还没有find有关如何做的实例。 有人可以告诉我怎么做,或者链接到网上的一个工作的例子。 最接近我find的例子是Igor Tandetnik在webbrowser_ctl新闻组的一个主题中的第一个回复。 但是恐怕我需要更多的帮助。 我正在embedded一个IWebBrowser2控件,我不使用MFC,ATL或WTL。 编辑: 在我之前链接的线程中,以及在codeproject文章“ 从C ++创buildJavaScript数组和其他对象 ”中find的Igor提供的伪代码,我已经生成了一些代码。 void WebForm::AddCustomObject(IDispatch *custObj, std::string name) { IHTMLDocument2 *doc = GetDoc(); IHTMLWindow2 *win = NULL; doc->get_parentWindow(&win); if (win == NULL) { return; } IDispatchEx *winEx; win->QueryInterface(&winEx); if (winEx == NULL) { […]

Internet Explorer 11(IE 11)使用DOMParser中的parseFromString引发语法错误

我在网页上有一些Javascript,可以在Chrome和Firefox中正常运行; 但在IE 11中testing时却失败了。 我使用debugging工具(F12)在IE 11中查看了这个问题,下面的代码出错了。 特别是当使用parseFromString一个'语法错误'被抛出: if (window.DOMParser) { parser = new DOMParser(); tmp = parser.parseFromString(resp, "text/xml"); } 任何方式我可以解决这个问题?

浏览器的Safari浏览器的html5拖放是否被破解?

浏览器的Safari浏览器的html5拖放是否被破解? 如果是这样,是否有任何解决办法? 我在Windows 7上使用Safari 5.1.2,并且放置目标始终显示为不可拖放。 在干净的安装和最新的设置2个不同的Windows 7电脑试了这个。 尝试了这个演示和我自己的代码在其他所有最新的浏览器上工作。 http://html5demos.com/drag

Mac / Windows在Javascript中popup虚拟键盘

我正在devise一个专门用于大型触摸屏显示器的web应用程序。 这不是一个移动应用程序; 它将在Mac OS X和Windows上运行在FireFox和Chrome上。 我正在寻找一种方式来编程从popup操作系统的本机屏幕键盘。 在Win 7中,当用户将注意力集中在文本区域(就像iOS和Android)时会自动发生,但是对于较早版本的Windows和OS X,用户必须手动将其拉起,这是我想要的麻烦消除。 理想情况下,它将像Win7 / iOS / Android一样工作,并在用户将焦点放在文本区域时自动popup,但我会解决任何popup键盘的JavaScript,即使必须为每个文本框添加它。 如果这甚至是可能的,我敢肯定这是不同的Mac和Windows,所以我想这是真正的两个问题之一。 任何帮助表示赞赏。

如何停止捏缩放,多点触摸input攻击?

目前谷歌铬稳定版本停止手动封锁捏缩放,这是可能的旧版本与以下设置: chrome://flags/#enable-pinch 我从一些随机捏放大/多点触摸input在我的自助服务机中受到攻击。 如何告诉JavaScript禁用缩放/多点触摸? (保护亭子) 我试图跟随,但没有什么是停止从忽略捏变焦攻击亭。 $(document).ready(function() { $(document).bind('contextmenu', function() { console.log('NO NO NO. STOP!!!'); window.location.reload(); return false; }); $(document).mousedown( function() { console.log('NO NO NO. STOP!!!'); return false; }); });