问题标签 [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.
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 的内容。
webassembly - Wasm 访问 DOM
有没有办法在没有 JavaScript 的情况下获得对 DOM 和/或 WebAPI(即全屏 API)的读/写访问权限?
我正在尝试用 C 构建一个基本应用程序(C 源代码实际上是从 GC 语言转换的结果)。我正在构建的应用程序将作为桌面应用程序运行(它还不打算在“真实”浏览器中运行),因此我可以在必要时调整环境(即布局引擎)。
javascript - XMLHttpRequest 与 JS Window 对象有什么关系
在阅读时XMLHttpRequest
发现它是高级 JS 全局window
对象的成员。例如:
但是我无法在其他任何地方确认此信息?我在这里查看https://developer.mozilla.org/en-US/docs/Web/API/Window以查看是否可以找到该XMLHttpRequest
对象,但没有提及它。我错过了什么吗?只是想确保我理解正确的起源XMLHttpRequest
以及它与全局window
对象的关系。
ipc - WebID 和 IDL(XPIDL) 有什么区别?
WebIDL:是一种接口描述语言,用于描述构成 Web 应用程序编程接口 (API) 的数据类型、接口、方法、属性和其他组件。
IDL(XPIDL) :它是一种接口描述语言,用于指定 XPCOM 接口类。(XPIDL 未来有望向 WebIDL 收敛。)
这两个接口使用 XPCOM 来实现跨语言的 IPC 机制。
所以,我的问题是:
- WebIDL 和 XPIDL 有什么区别?
- 为什么 IDL 在特性上会向 WebIDL 收敛?
谢谢你。
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 的较新版本中不推荐使用该方法?!如果它已被弃用,我应该使用什么来代替它?!
c++ - Emscripten:如何为 C++ 数组类型定义 webidl
您好我正在尝试将 QR 库 quirc 转换为 WASM。为此,我编写了一个 C++ 包装器,这样我就可以使用 webIDL 使转换更加直接。但是,我在 webIDL 中定义数组类型时遇到了麻烦。下一个片段的正确 webIDL 是什么
javascript - window.JSON 的 WebIDL 定义在哪里?
我正在寻找 JSON.parse 方法的 WebIDL 定义。我在 GitHub 上查看了Mozila 的 WebIDL 定义,但找不到。哪里是?
javascript - 如何在 KaiOS 中开发调用我自己的 c/c++ 库 API 的应用程序
我知道 KaiOS 应用程序通常是用 html/js/css 开发的,但是我开发了一些目前 Web API 中没有的特殊功能,所以我使用 C/C++ 开发了特殊功能的 API,现在,我想定义JS API调用C/C++ API,应该怎么做?有没有关于它的文件?
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 存储库会有它,但没有。