在客户端加载本机插件
loading native addons on client side
是否可以使用 requireJS 或其他模块从客户端 JavaScript 加载本机插件(像在 nodejs 中一样用 C/C++ 编写(?
我正在编写一个nodejs + express应用程序,该应用程序提供加载javascript文件的html文件。我正在使用requireJS并将这些客户端js文件编译到AMD模块中。我可以从nodejs服务器端js脚本加载和调用本机方法,并想知道是否可以从客户端js脚本中执行相同的操作。
不,您不能像这样强制客户端通过浏览器执行本机应用程序。这将呈现一个非常大的安全漏洞,允许任何黑客出现在任何客户端上执行任意暴力代码,这是严格防止的。不过,您可以通过 API 在服务器端执行 C++ 附加组件,这应该可以解决大多数用例。
RequireJS 不是您要实现的目标的驱动因素。加载本机代码的功能完全取决于运行代码的 JavaScript VM 是否允许。 如果 VM 不允许,则 RequireJS 无法添加此功能。
你可以在 Node 中执行此操作,因为 Node 允许这样做。
浏览器对它们允许的内容的限制要多得多。在网页中执行的JavaScript脚本通常无法加载本机代码,因为正如Chris Franklin所解释的那样,这是一个安全漏洞。
获取 C 或 C++库提供的功能以运行浏览器端的一种方法是使用 Emscripten 之类的东西将 C 或 C++ 代码编译为 JavaScript。
相关文章:
- 从C++本机插件更新Vector3数组
- GCC本机矩阵运算库
- VC++本机单元测试,找不到调试符号
- 在这种情况下,java对象是否可以调用本机函数
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 如何使用 v8 本机插件将 C++ 数组交付到 Node.js
- 我在 Mac 的 Electron 中的本机C++插件有问题
- 如何从节点本机插件正确创建Buffer对象
- 未分配正在释放的本机node.js插件错误指针
- 将wchar_t字符串从/传递到本机插件-仅适用于Windows
- 本机插件Null异常OSX
- 在填充Int32Array时,Node.JS的性能与本机C++插件相比
- JNI-我可以在不为本机插件调用System.loadLibrary的情况下使用RegisterNatives吗
- 如何保留我的unity3d程序(c#v3.5),即使c ++ dll /本机插件中有exit(1)
- 在客户端加载本机插件
- 使用nodejs javascript或c++插件覆盖本机nodejs函数
- 如何在本机插件中创建node.js错误对象
- nodejs如何加载本机插件
- 节点.js本机插件 - 包装类的析构函数不运行