问题标签 [webidl]

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 投票
0 回答
676 浏览

c++ - 有没有办法为 C++ 模板类型创建 WebIDL 绑定?

假设在 C++ 中我有一个具有以下签名的函数:

其中 A & B 是一些类。然后,我尝试生成 WebIDl 绑定以在 emscripten 构建中使用,以使用来自 Javascript 的 C++ 代码。我有一个工作绑定文件,其中包含可以从 JS 绑定和访问的各种其他类、枚举等,但我不知道如何表示模板化类型(上例中的 A 类)。我尝试了各种 WebIDL 绑定声明的组合,例如:

但是任何使用尖括号 '<>' 都会从用于构建它的 webidl_binder.py 脚本(包含在 emscripten sdk 中)生成语法错误,如果我将 A 的声明和使用保留为未模板化,则构建绑定文件,但是与 C++ 库的绑定的最终 emscripten 编译(emcc ...)在绑定 cpp 文件中失败:

错误:使用类模板需要模板参数

这是有道理的。奇怪的是,WebIDL 文档根本没有提到模板类型。我在网上搜索并找到了一个使用“Embind”绑定特定模板实例的单一引用,但没有关于 WebIDL 的内容。

0 投票
4 回答
19825 浏览

webassembly - Wasm 访问 DOM

有没有办法在没有 JavaScript 的情况下获得对 DOM 和/或 WebAPI(即全屏 API)的读/写访问权限?

我正在尝试用 C 构建一个基本应用程序(C 源代码实际上是从 GC 语言转换的结果)。我正在构建的应用程序将作为桌面应用程序运行(它还不打算在“真实”浏览器中运行),因此我可以在必要时调整环境(即布局引擎)。

0 投票
1 回答
191 浏览

javascript - XMLHttpRequest 与 JS Window 对象有什么关系

在阅读时XMLHttpRequest发现它是高级 JS 全局window对象的成员。例如:

但是我无法在其他任何地方确认此信息?我在这里查看https://developer.mozilla.org/en-US/docs/Web/API/Window以查看是否可以找到该XMLHttpRequest对象,但没有提及它。我错过了什么吗?只是想确保我理解正确的起源XMLHttpRequest以及它与全局window对象的关系。

0 投票
0 回答
99 浏览

ipc - WebID 和 IDL(XPIDL) 有什么区别?

WebIDL:是一种接口描述语言,用于描述构成 Web 应用程序编程接口 (API) 的数据类型、接口、方法、属性和其他组件。

IDL(XPIDL) :它是一种接口描述语言,用于指定 XPCOM 接口类。(XPIDL 未来有望向 WebIDL 收敛。)

这两个接口使用 XPCOM 来实现跨语言的 IPC 机制。

所以,我的问题是:

  1. WebIDL 和 XPIDL 有什么区别?
  2. 为什么 IDL 在特性上会向 WebIDL 收敛?

谢谢你。

0 投票
1 回答
350 浏览

c# - 更新到 Firefox 46 GeckoFX 45 后,xul 不导出此方法`JS_BeginRequest@@YAXPAUJSContext@@@Z`

我正在尝试为 GeckoFX45 使用 Firefox 46.0 SDK。我能够找到更改后的 uuid“Guid id”,但在更新到 Firefox 46 SDK 后,我在这一行遇到了这个崩溃:

https://github.com/EbramTawfik/GeckoFX/blob/master/Geckofx-Winforms/GeckoWebBrowser.WinForms.cs#L153

消息:System.AccessViolationException HResult=0x80004003 消息=尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

然后我能够为 IDL 生成 c# 文件:

使用这个工具: https ://bitbucket.org/geckofx/idlimp/src/default/

以及使用此工具的 WebIDL: https ://bitbucket.org/geckofx/webidltogeckofxbindings/src/default/

但我收到此错误:

System.EntryPointNotFoundException: '无法在 DLL 'xul' 中找到名为 '?JS_BeginRequest@@YAXPAUJSContext@@@Z' 的入口点。

我发现原因是 xul 的较新版本没有导出此方法JS_BeginRequest@@YAXPAUJSContext@@@Z

所以不知道有没有具体的方法可以重建这个xul.dll来导出这些方法?还是在 xul.dll 的较新版本中不推荐使用该方法?!如果它已被弃用,我应该使用什么来代替它?!

0 投票
0 回答
32 浏览

webgl - 为什么WebGL扩展的webidl规范有[NoInterfaceObject]扩展属性

[NoInterfaceObject]的规范声明该属性“不应在规范中使用,除非需要指定遗留 API 的行为”。

WebGL 扩展是否存在某种无法指定和遗留的东西?例如,这里是 AngleInstancedArrays 的webidl

0 投票
1 回答
188 浏览

c++ - Emscripten:如何为 C++ 数组类型定义 webidl

您好我正在尝试将 QR 库 quirc 转换为 WASM。为此,我编写了一个 C++ 包装器,这样我就可以使用 webIDL 使转换更加直接。但是,我在 webIDL 中定义数组类型时遇到了麻烦。下一个片段的正确 webIDL 是什么

0 投票
0 回答
26 浏览

javascript - window.JSON 的 WebIDL 定义在哪里?

我正在寻找 JSON.parse 方法的 WebIDL 定义。我在 GitHub 上查看了Mozila 的 WebIDL 定义,但找不到。哪里是?

0 投票
1 回答
64 浏览

javascript - 如何在 KaiOS 中开发调用我自己的 c/c++ 库 API 的应用程序

我知道 KaiOS 应用程序通常是用 html/js/css 开发的,但是我开发了一些目前 Web API 中没有的特殊功能,所以我使用 C/C++ 开发了特殊功能的 API,现在,我想定义JS API调用C/C++ API,应该怎么做?有没有关于它的文件?

0 投票
1 回答
19 浏览

specifications - W3C WebIDL 的规范、权威来源

如何找到给定 W3C 标准的机器可读 Web IDL 的权威来源?

例如,https://www.w3.org/TR/2018/REC-IndexedDB-2-20180130/是Indexed Database 2.0规范文档的权威来源。该规范链接到 Web IDL 标准,但没有链接到 IndexedDB 本身的任何实际 Web IDL 文件。

如果我四处搜索,我可以找到相关的 Web IDL 文件,其中散布着其他规范的 Web IDL 文件,例如这个 repo这个 Rust crateIDB*中的文件。但是,我正在寻找与上述规范文档具有相同权限的单一来源。你会认为W3C IndexedDB GitHub 存储库会有它,但没有。