问题标签 [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 回答
412 浏览

c - webkitgtk,导航请求的信号,检索发布的数据

在处理信号“resource-request-starting”时检查提供的数据时,我可以看到 post 请求也通过了信号:

但是,发布的数据没有通过:

我可以看到 POST 方法请求在标准输出上飞过,但我似乎无法掌握他们的数据。有谁知道如何掌握它?谢谢!

0 投票
2 回答
1110 浏览

c - 如何使用 GTK Webkit 和 WebkitWebView 下载

我有一个 WebKitWebView。在一个网站上有一个下载请求。我不知道如何编写信号下载请求下载开始并保存到给定目录。我将 Ubuntu 12.04 LTS 与 Anjuta 一起使用。我正在用 C 编程。

0 投票
1 回答
2384 浏览

c - Webkit GTK:确定文档何时完成加载

StackOverflow 上还有其他问题与我想知道的很接近,例如Webkit GTK :: How to detect when a download has done? ,但我想我在问一些不同的东西:

一般来说,在事件驱动的 C Webkit-GTK API 中有很多事件可能与某个文档何时完成“加载”的想法有关。问题是文档非常稀疏,“完成加载”的概念并不一定清楚,因为它可以引用很多东西。“完成加载”是否意味着文件已完成下载?它已经完成了 DOM 树的创建?它已完成下载,包括所有其他资源(如 CSS、JS 和图像文件?)

相关信号是signal::notify::load-statusdocument-load-finishedresource-load-finished

每次负载状态发生变化时都会触发该load-status信号,因此您每次都需要手动调用webkit_web_view_get_load_status并检查状态。即便如此,当状态 finally 为 时WEBKIT_LOAD_FINISHED,我不确定这意味着什么——这是否意味着 WebKit 已经完成了资源的下载,或者它已经完成了 DOM 树的创建,还是什么?

问题:

各种“完成”信号之间有什么区别,是否有任何信号等效于标准 Javascript DOM 事件window.onload

0 投票
1 回答
541 浏览

c - Webkit GTK:公开 HTTP 标头

在用 C 语言尝试 WebkitGTK 并查看文档后,我发现大多数与网页加载相关的信号/事件都是围绕页面开始加载或完成加载时的。

但是,无论如何我都没有看到请求的实际 HTTP 标头被公开。因此,我无论如何都看不到检测到,例如,如果webkit_web_view_load_uri加载的页面出现 404 错误。错误报告机制似乎只关注网络错误,而不是 HTTP 错误。事实上,我根本看不出与 WebkitGTK API 中暴露的 HTTP 有任何关系。

我只是在这里遗漏了什么吗?我什至 grep 了整个webkit包含目录httpHTTP但没有出现任何相关内容。那么有没有办法确定下载的页面是否是 HTTP 错误(除 之外的其他错误代码200 OK)?

0 投票
1 回答
910 浏览

c++ - Webkit GTK:使用 DOM Tree Walker

所以,我正在试验 Webkit GTK DOM 函数。它非常简单,除了一件事:API 中有一个有用的部分称为WebKitDOMTreeWalker,我假设它可以让您遍历 DOM 中的每个节点,就像TreeWalkerJavascript 中的对象一样。

现在,在 Javascript 中,通过调用创建 TreeWalker:

document.createTreeWalker(root, nodesToShow, filter, entityExpandBol)


因此,在 WebKit GTK 中,API 中有一个明显的对应物——一个名为webkit_dom_document_create_tree_walker. 函数签名是:

所以用 WebKit GTK 创建 TreeWalker 看起来很简单——除了一个大问题:第四个参数webkit_dom_document_create_tree_walker需要一个过滤器对象,也就是说,它需要一个WebKitDOMNodeFilter. 好吧,Javascript 函数也需要一个过滤器,但是null如果您不想使用过滤器,您可以通过。使用 Webkit API,传递NULL不起作用。如果你打电话:

您收到错误消息:

** (webkit:3367): CRITICAL : WebKitDOMTreeWalker* webkit_dom_document_create_tree_walker(WebKitDOMDocument*, WebKitDOMNode*, gulong, WebKitDOMNodeFilter*, gboolean, GError ): 断言“过滤器”失败

因此,WebKit API 不会接受过滤器参数的 NULL 指针。显然你需要传递一个WebKitDOMNodeFilter. 好的,再一次 - 这也不是问题,除非我通过 WebKit API 和 Google 进行了广泛搜索,但无论如何我都找不到创建 WebKitDOMNodeFilter对象!WebKitDOMNodeFilter.h的头文件不公开任何 WebKitDOMNodeFilter 的构造函数。似乎 API 根本不会公开实际构造 WebKitDOMNodeFilter 对象。

然而...... API 公开了许多需要WebKitDOMNodeFilter 的函数(如 webkit_dom_document_create_tree_walker 和 webkit_dom_document_create_node_iterator)。那么...... API 现在不完整吗?或者,有什么方法可以创建一个我没有看到的过滤器对象?

0 投票
1 回答
1358 浏览

python - 使用 WebKitGTK+ 等待网站完全加载

可能重复:
Webkit GTK:确定文档何时完成加载

我想使用 WebKitGTK+ 获取网站的 HTML 内容以自动处理 javascript 重定向。

我正在使用以下 Python 代码:

该网站加载正常,但是有一些特殊的网站正在重定向到重定向到其他地方的网页,我试图将load-finished事件连接到一个函数,它被调用了两次。

有没有办法知道 WebKit 何时完全加载了网页?

我如何知道 WebKit 是否仍在执行一些 JavaScript 代码?

0 投票
1 回答
560 浏览

c - 为什么我的 webkit 在 /usr/lib/mozilla/plugins 目录下找不到 libflashplayer.so

我正在为 Linux 的 GTk+3.0 和 webkitGTK+ 开发一个应用程序,它应该在 WebView 中播放 swf 文件。首先,我尝试从设备打开 swf 文件,而不是通过互联网打开,但没有成功。WebView 出现了,但在 WebView 内我只能看到一个白屏(缺少插件)。如果我将相同的 URL 加载到设备浏览器,则 Flash 文件可以正常播放。我得到了 libflashplayer.so 并安装

sudo cp libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so sudo mkdir /opt/google/chrome/plugins sudo cp libflashplayer.so /opt/google/chrome/plugins

我想我在 WebView 设置上遗漏了一些东西,但是经过几个小时的搜索和谷歌搜索后,我仍然不知道是什么。

0 投票
1 回答
247 浏览

linux - 用于将数据传入和传出基于 WebKit 的浏览器的方法

我使用WebKitGTK+ ( WebKit )的应用程序将是一个在 Linux 环境中运行的非常简单的 Web 浏览器,作为一个单独的可执行文件,需要在另一个应用程序之间交换数据。该系统如下图所示:

在此处输入图像描述

示例场景:

  • 检测到智能卡插入等事件Backend processing Application
  • 读取智能卡数据并将其传递给WebKitGTK+ GUI Application
  • 用户与显示的“网页”交互WebKitGTK+ Application
  • 数据从WebKitGTK+ Application后端传递到Backend processing Application

WebKitGTK+ Application在和之间传递数据的常用方法是Backend processing Application什么?

`WebKitGTK+ 是否提供了一些钩子来做这种事情?任何帮助将不胜感激。

0 投票
1 回答
354 浏览

javascript - 使用 WebkitGTK 泄漏

我正在尝试使用 WebkitGTK。使用一个简单的“hello world”风格的应用程序,它只下载一个网页然后退出,WebKit 在运行程序后报告泄漏的对象:

WebkitGTK 程序是一个简单的 C 程序:

我下载的 HTML 很简单:

经过一些实验,我观察到如果我删除标签就不会发生泄漏<script>,这让我相信我应该做一些事情来关闭 JavaScriptCore。那么,为什么 WebKit 会报告泄漏?

0 投票
1 回答
380 浏览

webkit - WebView 标题有时不应该为 null

我正在用 Vala 和 WebKitGTK+ 编写一个简单的浏览器。我需要做的一件事是将窗口的标题设置为网页标题的标题,因此我使用web_view.notify["title"].connect. 但是,有时 title 的值是null,而它显然不应该是。

我记得的一些例子:

无论如何,使用 Web Inspector 表明页面确实有一个标题集。

这是我应该报告的错误吗?或者也许我做错了什么?这是我正在使用的代码: