问题标签 [embedded-v8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1265 浏览

javascript - V8 JavaScript 引擎和 Mac App Store

如果我在我的应用程序(游戏)中嵌入了 V8 JavaScript 引擎,是否仍然可以在 Mac 和 iOS 应用商店中分发它?

0 投票
2 回答
898 浏览

perl - Perl:Javascript::V8 模板 - 来自 perl

寻找像 HTML::Mason(或 Mason)这样的模板引擎,所以什么将源组件“编译”成 perl 代码,而不是 perl-code 将“编译”组件成 JavaScript 代码并在使用 Javascript::V8 运行/执行它们之后perl 模块。

动机:寻找安全模板语言的解决方案,什么可以在不影响服务器安全的情况下编辑用户。JavaScript 是功能齐全的语言,因此使用它可能比一些“迷你语言”(如 TT 或类似语言)更好/更快。对我来说最好的是 Mason 的扩展(重写),用于编译成 Joose/JavaScript 而不是 Moose/Perl。;)

是的,想要使用 Javascript::V8 从 perl 执行此操作,因为这种方式可以通过 Javascript::V8 $context->bind_function 以非常安全的方式获得所有 perl 的功能。

问题:

  • 有人知道类似的东西吗?(在 CPAN 中一无所获)...

编辑:在梅森你可以写例如

如果有可能在 JS 中编写上述内容,那就太好了,例如:

上述源代码应“编译”成 JavaScript (Joose),并使用 Javascript::V8 执行。(就像在 Mason 中一样——源代码被编译成 perl/Moose 对象并用 perl 执行)......

如您所见,它for(var i in list)是用纯 JS 编写的,而不是用“迷你语言”编写的……</p>

0 投票
1 回答
16042 浏览

javascript - 如何使用 Chromium 和 Delphi 6 在网页中向 Javascript 公开“本机函数”?

在Delphi Chromium Embedded的帮助下,我已成功地将 Chromium 嵌入到我的 Delphi 6 项目中。现在我希望能够执行 Javascript 代码并将结果返回到我的主机 Delphi 应用程序。我当前的方法是调用 ExecuteJavascript() 并使用 Javascript 调用将其结果写入的 DOM 元素,并在 Delphi 的 TTimer 方法中轮询该元素以检索结果。但是,我阅读了有关使用本机函数和 V8 扩展将 Javascript 调用“回调”到我的 Delphi 代码中作为接收结果的一种方式:

http://magpcss.org/ceforum/viewtopic.php?f=7&t=180

我想试试这个,我也想知道如何将基于 Delphi 的事件侦听器附加到网页中的 DOM 元素(onblur、onmousedown 等)。我正在寻找一些样本,如果有人知道在哪里可以找到它们,它们会告诉我如何做这两件事。

0 投票
4 回答
3309 浏览

javascript - 是否有任何用于嵌入 C++ 的 HTML5 Canvas 实现

我正在开发基于浏览器的游戏 atm,并且已经在研究将其移植到其他平台的选项,例如在 Web 浏览器中播放可能不适合的控制台或设备。

游戏几乎都是 JavaScript,通过 2d 画布上下文完成渲染。

我希望的是已经有一个 c++ 库/api 可以与谷歌的 v8 引擎一起工作,以处理 JavaScript 中的画布调用并用 opengl 或类似的东西渲染它们

有谁知道可能提供此功能的项目吗?

否则,你会如何假设我将我的 javascript 嵌入到 c++ 中,而对 javascript 所需的更改尽可能少,因为我真的不想在平台之间维护太多差异?

0 投票
2 回答
3246 浏览

c++ - C++ 控制台应用程序、SetWindowsHookEx、Callback 永远不会被调用

我有一个带有嵌入式 v8 引擎的小控制台应用程序,我想添加一个挂钩来注册关键事件。这一切在我使用 Qt 和 QtScript 之前都有效,但我将其全部移植到 VC++ 2008 中的直接 C++ 中。应用程序编译并运行,但从未调用过钩子,这是相关代码:

在主()

和过程:

这本质上是对 v8 示例代码的 shell.cc 的扩展。我想知道它是否以某种方式阻塞?我承认我并不真正知道我在这里做什么,只是玩耍和学习,但这让我难过。

在 keyDown 里面说,我有这样的事情:

其中一些实际上可能最终不起作用,但是当我运行程序并定义时,它永远不会被调用: onKeyDown = function(key) {...}; 我可以看到 onKeyDown 工作得很好,我可以使用 JS 中的所有绑定 c++ 方法等,所以这件事让我很生气。

任何帮助,也许对一些教育材料的指点将不胜感激。

为了清楚起见,c 中的这个函数:LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam) 永远不会被调用,或者永远不会看到 printf,并且开始时的输出显示:Hook 已建立,因此 windows 正在报告钩子成立。

/杰森

0 投票
2 回答
2114 浏览

c++ - node.js 的 v8 扩展 - 无法将 FunctionTemplate 设置为目标

我刚刚开始通过 v8 扩展(按照Node.JS 文档v8 API 文档的说明)编写与 C 库(准确地说是链接语法)的绑定。

我的问题是我收到以下构建错误:

...尝试构建以下代码时:

我觉得好像我已经遵循了上述链接上的说明,并遵循了它们链接到的示例的模式,但是我得到了上述错误。不是最敏锐的 C++ 编码器,所以很可能这个错误正盯着我看。唉,我不知所措。

0 投票
2 回答
11776 浏览

php - 在 Ubuntu 上安装 PHPv8js

我在 Ubuntu 上安装 phpv8js 时遇到了一些麻烦。

我已确定我安装了最新版本的 libv8 并安装了所需的 PHP 版本,但使用 PECL 安装失败。

这是输出:

我看到的唯一建议是编辑包内容以定义 PHP_V8_VERSION 但这似乎有点 hacky :)

0 投票
3 回答
4211 浏览

javascript - V8 javascript引擎中的http函数

我想独立使用 V8 javascript 引擎,例如,我将在命令行中运行它,如下所述

我希望 javascript 执行一些 http 请求,最好使用 jQuery API,但 XMLHttpRequest 也可以。

V8 中是否有任何内置方法可以做到这一点?如果没有,是否有任何方法可以在不实现访问器/cpp 扩展的情况下实现它?

0 投票
1 回答
1347 浏览

c++ - 使用 gyp 的 V8 的 Hello World 示例

由于 SCons 已被弃用。我使用 gyp 生成 vs 解决方案。我按照他们在 BuildWithGYP构建时告诉我的做了。v8 项目构建成功!我得到了 v8_base.lib 但没有 v8.lib。

在 hello world 项目中,开始。我将 lib 目录添加到添加库中。但它链接失败:

正在链接...

似乎找不到工具,但我使用了 dumpbin 工具并找到了我可以在 v8_base.lib 中找到它们的符号

我确定库目录没问题!但我不知道为什么它找不到工具。

0 投票
3 回答
4124 浏览

javascript - 访问 V8 引擎的抽象语法树

对于给定的 JavaScript 代码,是否可以访问 v8 引擎的 AST?我正在使用 V8 引擎开发 JavaScript 静态分析器。