问题标签 [ghcjs-dom]

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 回答
727 浏览

haskell - GHCJS-DOM 事件指导

我正在尝试了解如何使用 GHCJS-DOM 创建 GUI。我一直在查看 hello world 示例https://github.com/ghcjs/ghcjs-dom-hello,这很简单。添加新节点很简单。我不能做,也不能从图书馆文档(只有签名)中解决的是添加一些事件。例如,通过鼠标单击将新节点添加到主体。

我希望避免使用像 JQuery 这样的 JS 库,因为我希望通过 GUI 在 GHC (webkit) 和 GHCJS 之间移植。

最终,我希望能够将鼠标事件表达为 FRP 事件,但我会一步一步解决。

如果有人有任何指导,我将不胜感激。我已经使用 haskell 几年了,但这是我第一次尝试 DOM。

0 投票
1 回答
113 浏览

ghcjs - ghcjs-dom-hello world 不响应鼠标点击 - ghc 7.10.1

我想这个例子应该响应鼠标点击:https://github.com/ghcjs/ghcjs-dom-hello,对吧?但是当我在 Firefox 和 Chrome 下使用 GHC 7.10.1 尝试它时,当我点击页面时没有任何反应。

有任何想法吗 ?我还没有用 GHC 7.8.4 尝试过。但我会。

0 投票
1 回答
694 浏览

haskell - 在 osx 上为 GHCJS 安装 webkitgtk3

我正在尝试在 Mac OSX 上安装 ghcjs-dom 包。由于存在很多依赖关系,因此一直很坎坷。Webkitgtk3 是我目前的克星

我尝试了以下命令来安装这个吸盘:

...但没有这样的运气。有谁知道如何安装这个包?

0 投票
1 回答
191 浏览

haskell - 在没有 webkitgtk 的情况下使用 GHCJS-DOM

我已经安装了 GHCJS 并编译了一些“Hello, World”程序。现在我想使用 DOM。有谁知道是否可以在没有 webkitgtk 的情况下安装 ghcjs-dom 包?我在加载 webkitgtk 包时遇到了很多困难,此时我真的只想使用 DOM。

0 投票
1 回答
63 浏览

haskell - 是否有将 NodeList 转换为真实列表(ghcjs-dom)的内置函数?

如何将其结果转换Element.querySelectorAll body "h1"为. 我知道我可以自己编写一个函数。有内置函数吗?IO NodeListIO (List Node)

0 投票
1 回答
72 浏览

haskell - 使用 ghcjs-dom 过滤 [Node] 到 [Element]

我正在使用 ghcjs-dom。如何从节点数组中过滤元素?

或者

0 投票
1 回答
187 浏览

haskell - GType 映射到将类型转换为 IO 字符串的函数

此映射位于 GType 和将 GType 的实例转换为 IO 字符串的函数之间。我正在制作一个函数,该函数接受一个元素并获取该元素的字符串表示形式。

给出这个错误:

我正在使用 ghcjs-dom。我怎样才能让这段代码编译没有错误?我是否以正确的方式解决问题?

如果有人能提出比亚历克的答案更好的答案,我会接受他们的答案。

0 投票
1 回答
160 浏览

css - 如何改变

我发现ghcjs文档ghcjs-dom非常有限。这是这个基本的 HTML 文档。

我读过它ghcjs只是将 Haskell 编译为 JavaScript。如果我想使用这个简单的文档来填充 DOM 树,我需要外部函数接口 (FFI) 和可能ghcjs-dom的 .

将其称为“外部函数接口”具有讽刺意味的是,JavaScript 通常被认为是浏览器的“原生”。所以那里有一点术语混乱。

在这个非常简单的例子中,也许

让我们尝试一个操作 DOM 的简单示例。我有一个简单的 HTML 文档,我想 * 将蓝色段落更改为红色段落或 * 每秒来回切换一次(在红色和蓝色之间)

如果 ghcjs 工具集甚至不能完成这些非常基本的测试用例并解释它,我看不出它将如何完成更难的任务。这是我在 Github 上提出的一个问题,得出的结论是 ghcjs 缺乏良好的入职流程。

0 投票
1 回答
281 浏览

haskell - 安装 reflex-dom 可能会破坏 ghcjs

我正在尝试安装reflexreflex-dom使用cabal install我收到以下错误消息:

ghcjs在 GitHub上的“master”分支上的0.2.0和名为“dedupe”的分支上的0.2.1 。而且我也怕摔坏lens有什么方法可以安装 reflex reflex-dom 以一致的方式安装吗? 也许我需要更改.cabal文件


这是终端的完整回复

和类似的安装反射

0 投票
3 回答
597 浏览

haskell - 如何将 ByteString 值转换为 JSVal

在模块GHCJS.DOM.JSFFI.Generated.CanvasRenderingContext2DputImageData中有以下类型的函数:

第二个参数的类型为Maybe GHCJS.DOM.Types.ImageData。此类型在模块GHCJS.DOM.Types中定义为围绕 JSVal 值的新类型包装器:

我有一个类型的值,ByteString它始终具有 4 个字节,每个像素的 RGBA 值。如何将我的 ByteString 值转换为 GHCJS.Prim.JSVal?