问题标签 [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 投票
3 回答
9105 浏览

webkit - WebKitGTK+、GTK2、GTK3

我很难理解不同版本的 WebKit、WebKitGTK、GTK 是什么。这是我到目前为止所拥有的:

  • WebKit 是一个包含 WebKit1 和 WebKit2 的库。用这个 include 调用哪一个#include <webkit/webkit.h>

  • WebKitGTK 1.10.2 是最后一个依赖 GTK2 的版本。它是否仍在维护/开发?

  • 它是否总是需要 GTK、Qt 或其他工具包支持?还是可以单独使用?

0 投票
1 回答
153 浏览

javascript - 如何获取 webkitgtk 渲染的源代码?

我需要通过webkitgtk获取HTML页面的DOM树,但是我不熟悉。你知道关键功能或任何其他有用的信息吗?由于源码中可能包含JS代码,所以这类页面的struct会在页面加载时发生变化,比如javascript的onload函数。我想要的是渲染的 DOM 树。

0 投票
1 回答
1926 浏览

c - 使用 WebKitGTK 播放 html5 视频

我正在尝试在使用 webkitgtk 并用 C 编写的程序中播放 html5 视频。

为了测试 html5 视频,我设置了一个带有网页的服务器:

它在 Firefox 中工作,但是当我使用我的程序显示该网页时,视频不起作用。

我的 C 程序:

有什么建议吗?

谢谢。

PD 我从 Ubuntu 存储库安装 libwebkitgtk。

0 投票
1 回答
376 浏览

c - webkit_dom_element_get_elements_by_tag_name 无法正常工作

我正在尝试使用以下代码使用 WebKitGTK 从 DOM 打印节点名称:

我有以下网页:

我的程序的输出是:

我不明白为什么它输出,输出应该是:

有谁知道发生了什么?

谢谢

编辑:我的完整代码

0 投票
2 回答
1827 浏览

c - 未定义的引用,WebKitGTK

好吧,我正在尝试编译一个简单的程序,将 WebKit 的 WebView 嵌入到 GTK 窗口中。所以,当编译器检查这一行时:

它给了我一些错误:

是的,我已经在链接器中引用了 lib,但我不知道在哪里可以找到这些函数。我会感谢你的帮助!

谢谢!

0 投票
0 回答
434 浏览

html - html5视频播放器中的track元素

我正在使用 webkit 中的 HTML5 视频播放器,我有一个 webvtt 文件,我需要在视频中显示字幕,但是即使我在 track 元素中指定了 webvtt 文件,也不会显示字幕。所以谁能告诉我我应该在哪里继续挖掘 webkit 以便它可以工作。如果我的查询没有正确放置,再次抱歉,但这就是我可以提取的最好的内容。

我们正在开发在 gtk 端口上使用 webkit 的三星智能电视 SDK 模拟器。

应用程序从模拟器运行。应用程序从 index.html 文件中提供字幕信息。index 文件包含以下信息。

vtt 文件看起来像

实际上,我们在 HTMLMediaElement.cpp 中看到了一个宏 VIDEO_TRACK,我们启用了它,但它没有帮助。

实际上,我们尝试使用启用 VIDEO_TRACK

但这没有帮助。

我们在 HTMLMediaElement 中看到以下代码

但它不执行。

如果您需要有关我的查询的更多信息,请告诉我,再次非常感谢。

谢谢,维内特。

0 投票
1 回答
162 浏览

python - 在 python webkit 中使用 svg 字体

我有一个用 python3 gtk webkit 编写的程序,并且想开始在 CSS 和 HTML 文件中使用一些字体。我看到 fontsquirrel 创建了四种不同类型的字体,以及它们的 CSS。

现在我不确定,但我相信不同的字体类型只是为了跨浏览器兼容性?而且我无法上传已编译的文件,所以我只想使用字体文件的 SVG 格式。

我相信为此的 CSS 将是:

然后我想我可以在程序中设置一个与 SVG 格式最兼容的用户代理。

所以我的问题是,首先我的假设是正确的,如果是这样,什么用户代理最适合 SVG,其次,这种方法与其他人的计算机的兼容性如何。

0 投票
2 回答
1863 浏览

python - 在 GTK+3 中滚动 WebKit2.Webkit 窗口

如何滚动一个webkit2gtk小部件?

webkitgtk(又名webkit1)中,您将您的包装WebView在 a 中ScrolledWindow,因此可以使用它vadjustment属性。

对于wekit2gtk, 这个调用WebView只是返回None,我看不到其他方法可以调用。

作为解释,我想在webkit2. 我通过在小部件上添加一个透明层来破解WebView了这一点¹,但现在我检测到我似乎无法使用它们的触摸。

¹ 今天发布的版本消除了对顶层层的需求。然而,我有接触,但我无能为力。

0 投票
1 回答
2334 浏览

python - python webkit:破解和自定义

我用 GTK 做了一个 python webkit 导航器。而且,由于我比其他方式更了解用于渲染的 html/css,因此我使用 python、wekbit 和 GTK 完成了一个软件。

我有一些问题。我已经阅读了我找到的文档,并对 google 和 stackoverflow 进行了大量研究。我还有很多问题。

首先,在我的应用程序中,我更改了窗口的标题以在 javascript 和 python 之间进行通信。我希望在我的导航器中做同样的事情,但我不能(我需要标题)。他们还有其他方式吗?我很想将 javascript 事件侦听器绑定到 python,而不更改标题。

编辑

我找到了解决方案。我们可以将一些事件绑定到 python。您可以在 python 中获得有关事件的更多文档:

我试过控制台消息。此事件返回 4 个参数:webview、webframe、int、msg。什么是 int ?在大多数消息中,它的值是 13……如果有人知道它的含义。

其次,我的导航器的 linux 版本可以很好地播放媒体元素(音频、视频......)。我想,这是因为 linux rulz 和依赖项在我的计算机上安装得很好。但是在 Windows 上是另一回事......我已经看到我可以为具有这些依赖项的 Windows 构建 webkit。但我找到了一些用于读取媒体元素的 javascript 编解码器(https://github.com/audiocogs)。它应该比我注入这个 javascript 或者以我自己的方式编译 webkit 更好吗?

第三,我可以处理缓存设置吗?我很确定现在,我的浏览器中没有缓存。(我的代码现在真的很轻松)。

第四,我可以处理 HTTP 请求吗?(cookies, apache auth, ...)

第五,我使用 WebView.zoom_in() 和 zoom_out 函数。当我放大或缩小时,它的行为肯定与 Firefox 或 chrome 不同。使用 firefox 或 chrome,就像 zoom_out 让您拥有比以前更多的像素。我的意思是,如果你缩小 chrome,你可以有不同的媒体查询。有了 WebView 的缩放功能,就好像只有字体大小在变化一样。我怎么能做像 firefox 和 chrome 这样的缩放?

第六,我可以使用 gecko 引擎而不是 webkit。但我不知道,如何在这两者之间进行选择。似乎 webkit 很好地导入了 python 和 gtk 以及 linux。但壁虎可能也是。我怎么能巧妙地选择?

第七,我遇到了一些流媒体问题。例如,如果我想听一些长音乐或一些视频,并暂停它们一段时间,当我播放媒体时,我的浏览器会出现错误。控制台没有错误,webkit.webview 全部为空白。我可以重新加载,它再次工作......我该如何处理这个错误?

我的灯光代码的一些相关示例:

谢谢,

0 投票
1 回答
203 浏览

webkit - webkit 无法解析主要字体并导致 fedora 20 上的分段错误

webkit3 如何在 Linux 上解析其主要字体?

(在 libwebkitgtk-3.0 中出现分段错误。有人见过类似的问题吗?有没有办法解决它?如何在对系统进行最小更改的情况下调试或修复它?)

gdb 打印:

安装 debuginfo 后的 gdb 回溯:

步骤导致:

编辑:添加了 gdb 回溯。回溯告诉我 webkit 无法正确解析“主要字体”。从旧的“运行 pyjs 时在 fedora 20 上的 libwebkitgtk-3.0 中的分段”更改标题以反映这一点。