问题标签 [webkitgtk]

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

c - 如何在 WebKit2GTK 中获取光标下图像的图像标题属性

这似乎是一个非常愚蠢的问题,但我无法弄清楚谷歌的内容。我想要 xkcd hovertext,它是标签的title属性。有,和, 但没有. 我该怎么办?imgWebKitHitTestResultget_link_uriget_link_titleget_image_uriget_image_title

编辑:这是现有代码,来自surf浏览器的源代码,它获取链接、图像或媒体 URI,但忽略标题属性(如果有)

0 投票
0 回答
154 浏览

go - 如何基于 javascript 调用调用“外部”操作

在 golang/webview 应用程序上,当在 Web 应用程序上呈现某个 javascript 调用时,我需要能够调用外部应用程序。我一直在使用https://github.com/zserge/webview和 window.external.invoke 一段时间,但似乎这个调用已被弃用,你能想到一个替代方案吗?

0 投票
1 回答
363 浏览

c - 使用 Javascriptcore Glib API 返回本机对象

我正在学习 webExtensions,我为 webkit 编写了一个示例 web 扩展,在其中我使用了 javascriptcore DOM/C API。我提到了 Binding native objects with JavascriptCore C Apihttps://github.com/vrruiz/WebKit-JavaScriptCore-Extensions而且我能够返回所有数据类型,包括本机对象。

在最近的 webkit 版本中,引入了新的 JavascriptCore Glib API,我正在尝试将我的测试代码迁移到新的 JSC glib API。我在 webkit 工具目录中引用了测试代码,并且能够将本机数字、字符串、布尔值返回给 javascript(使用 HTML 测试应用程序)但我无法返回任何本机对象。例如,当我尝试返回 Gfile 对象时,出现以下错误

TypeError:不支持的类型 GObject

我尝试将返回类型从 G_TYPE_OBJECT 更改为 JSC_TYPE_VALUE 但我不确定如何将 GFile 对象转换为 JSCvalue。如果我不转换,那么在应用程序中我得到 NULL 对象。

HTML 和 JavaScript 代码

C++ 代码

0 投票
1 回答
173 浏览

python - 一些 SVG 元素未在 python webkitgtk 应用程序中呈现

我正在编写一个小应用程序来使用 python gtk3 与 WebKit 和 SchemDraw 绑定来生成电路图。我的意图是使用 SchemDraw 的 svg 输出(内部使用 matplotlib)并将其呈现在 WebView 小部件中。当我加载由 matplotlib(从文件和 StringIO)生成的 svg 时,WebView 窗口中缺少一些水平和垂直线元素。

我尝试在多个浏览器(Firefox、Google Chrome 和 Epiphany)中打开相同的 svg 文件,并且所有元素都正确呈现。我认为 Epiphany 将是一个很好的测试,因为它似乎使用了 WebView 实例,尽管是在 C 中。

gtk 程序:

呈现 e​​xample.svg 的代码(SchemDraw 网站上的示例):

我怀疑需要更多的 WebView 实例设置才能使其工作类似于我测试过的浏览器,但我不确定如何在此处继续。

0 投票
1 回答
76 浏览

javascript - 如何访问 JSCValue 对象的属性

使用以下代码:

我得到[object HTMLBodyElement]打印但没有Instance of HTMLBodyElement。我对此有几个问题。

  1. 如何在无需检查的情况下获得 JSCValue 的类?
  2. 为什么当前检查不起作用?
  3. 如何访问对象的其他属性?当我尝试增加索引时,我得到的只是未定义的,当我使用时,我jsc_value_object_enumerate_properties()在内存中只有一个地址。我的目标是访问 CSS、标签、ID/Class、父元素和子元素。我不知道如何将 char** 转换为可用信息。
0 投票
1 回答
68 浏览

javascript - 带有 JSCValue* 对象的 jsc_value_object_invoke_method() 不起作用

我正在尝试从 C++ 代码中调用一些 jQuery 函数。我所做的是将整个 jQuery 库复制为一个字符串,并使用 jsc_context_evaluate() 来访问所有 jQuery 方法。

这是一个带有字符串的非特定精简版本,它工作正常:

这会将“some-div”的内容更改为“foo”。(我知道 'some-div' 应该有一个 '.' 或 '#' 但它只是为了表示)

当我尝试使用一个对象时,该功能不起作用。

而不是 'some-div' 得到 'some-other-div' 的内容,什么都没有发生。当我将返回值打印...invoke_method()为字符串时,jsc_value_to_string()我得到未定义。我用其他 jQuery 方法尝试过,add但结果相同,函数返回 undefined 并且没有任何变化。

0 投票
1 回答
223 浏览

c++ - 减少 g++ RAM 使用量

除了“获得更多内存”之外,我还没有真正找到这个问题的可靠答案。有没有办法减少 g++ 在编译过程中使用的内存?我(出于某种原因)试图在具有 1GB 内存的 g4 mac mini 上编译 webkitgtk。它无法升级。当前的编译选项是 -Os -mabi=altivec -mcpu=native -mtune=native. 它有 1GB 内存和 1GB 交换空间,但内存不足。虽然理论上我可以继续添加交换空间,但实际上这会变得非常慢,我想尽量减少它。

0 投票
0 回答
422 浏览

macos - 无法构建 WebKitGTK:缺少 ICU 库但无法安装它们

我正在尝试按照他们在此处建议的说明https://trac.webkit.org/wiki/BuildingGtk#BuildingWebKitGTKfromareleasetarball构建 WebKitGTK ( 2.28.0 ) 的最新版本。解压缩下载的 tar.xz 后,我在 shell 窗口中打开该文件夹并运行命令:

我之前通过 Homebrew 安装了 Ninja:

不幸的是,我遇到了一些错误:

似乎某些库未安装(数据、i18n、uc)。尝试通过 Homebrew 安装uc后,按照此 StackOverflow 答案中的说明进行操作,仍然显示相同的错误。

我在 Mac 机器上,Mojave v. 10.14.6。

0 投票
0 回答
271 浏览

linux - 在 Linux 上调试 Webkitgtk

我通过以下方式构建了一个 WebkitgtkTools/Scripts/build-webkit --gtk --debug

有没有办法可以在 Linux 上的 GDB 中使用 HTML 文件对其进行调试?

我不知道如何运行打开 HTML 文件的 WebKitWebProcess。

我在Debugging WebKitGTK+中找到了一些信息,所以我尝试 了WEB_PROCESS_CMD_PREFIX='/usr/bin/gdbserver localhost:8080' Tools/Scripts/run-minibrowser --gtk --debug /path/to/my/test.html

然后在另一个终端中运行gdb ./WebKitBuild/Debug/bin/WebKitWebProcess并在 GDB 中设置target remote localhost:8080.

但是似乎我找不到一些符号。例如,test.html包含在WebKit 的 ASAN 构建中崩溃的漏洞。WebCore::RenderObject::RenderObjectBitfields::isBox()但是我无法info symbol在带有 --gtk 标志的 gdb 中找到它。

我也试过:gdb ./WebKitBuild/Debug/bin/MiniBrowserrun test.html,但我得到了

/nas/ug16zy2/webkit/webkit-2.20.2/WebKitBuild/Debug/bin/MiniBrowser: error while loading shared libraries: libwoff2dec.so.1.0.2: cannot open shared object file: No such file or directory

我想我可能会与 WebKit 和 WebKitgtk 混淆......谁能给我解释一下。非常感谢。

0 投票
1 回答
76 浏览

webkit - 如何在 webkitgtk 中获取响应正文?

我试图处理 webview resource_load_started 和 webresource finished 信号以获取响应正文,但遇到了麻烦。

这是我的python代码:

输出如下(去掉了 https 前缀):

我的问题是我使用正确的信号处理程序吗?如果使用正确,那么,为什么resource.get_data()总是返回 None,那里会发生什么?我只能获取响应 URL 及其长度。