问题标签 [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.
c - webkitgtk,导航请求的信号,检索发布的数据
在处理信号“resource-request-starting”时检查提供的数据时,我可以看到 post 请求也通过了信号:
但是,发布的数据没有通过:
我可以看到 POST 方法请求在标准输出上飞过,但我似乎无法掌握他们的数据。有谁知道如何掌握它?谢谢!
c - 如何使用 GTK Webkit 和 WebkitWebView 下载
我有一个 WebKitWebView。在一个网站上有一个下载请求。我不知道如何编写信号下载请求下载开始并保存到给定目录。我将 Ubuntu 12.04 LTS 与 Anjuta 一起使用。我正在用 C 编程。
c - Webkit GTK:确定文档何时完成加载
StackOverflow 上还有其他问题与我想知道的很接近,例如Webkit GTK :: How to detect when a download has done? ,但我想我在问一些不同的东西:
一般来说,在事件驱动的 C Webkit-GTK API 中有很多事件可能与某个文档何时完成“加载”的想法有关。问题是文档非常稀疏,“完成加载”的概念并不一定清楚,因为它可以引用很多东西。“完成加载”是否意味着文件已完成下载?它已经完成了 DOM 树的创建?它已完成下载,包括所有其他资源(如 CSS、JS 和图像文件?)
相关信号是signal::notify::load-status
、document-load-finished
和resource-load-finished
。
每次负载状态发生变化时都会触发该load-status
信号,因此您每次都需要手动调用webkit_web_view_get_load_status
并检查状态。即便如此,当状态 finally 为 时WEBKIT_LOAD_FINISHED
,我不确定这意味着什么——这是否意味着 WebKit 已经完成了资源的下载,或者它已经完成了 DOM 树的创建,还是什么?
问题:
各种“完成”信号之间有什么区别,是否有任何信号等效于标准 Javascript DOM 事件window.onload
?
c - Webkit GTK:公开 HTTP 标头
在用 C 语言尝试 WebkitGTK 并查看文档后,我发现大多数与网页加载相关的信号/事件都是围绕页面开始加载或完成加载时的。
但是,无论如何我都没有看到请求的实际 HTTP 标头被公开。因此,我无论如何都看不到检测到,例如,如果webkit_web_view_load_uri
加载的页面出现 404 错误。错误报告机制似乎只关注网络错误,而不是 HTTP 错误。事实上,我根本看不出与 WebkitGTK API 中暴露的 HTTP 有任何关系。
我只是在这里遗漏了什么吗?我什至 grep 了整个webkit
包含目录http
,HTTP
但没有出现任何相关内容。那么有没有办法确定下载的页面是否是 HTTP 错误(除 之外的其他错误代码200 OK
)?
c++ - Webkit GTK:使用 DOM Tree Walker
所以,我正在试验 Webkit GTK DOM 函数。它非常简单,除了一件事:API 中有一个有用的部分称为WebKitDOMTreeWalker
,我假设它可以让您遍历 DOM 中的每个节点,就像TreeWalker
Javascript 中的对象一样。
现在,在 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 现在不完整吗?或者,有什么方法可以创建一个我没有看到的过滤器对象?
python - 使用 WebKitGTK+ 等待网站完全加载
可能重复:
Webkit GTK:确定文档何时完成加载
我想使用 WebKitGTK+ 获取网站的 HTML 内容以自动处理 javascript 重定向。
我正在使用以下 Python 代码:
该网站加载正常,但是有一些特殊的网站正在重定向到重定向到其他地方的网页,我试图将load-finished
事件连接到一个函数,它被调用了两次。
有没有办法知道 WebKit 何时完全加载了网页?
我如何知道 WebKit 是否仍在执行一些 JavaScript 代码?
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 设置上遗漏了一些东西,但是经过几个小时的搜索和谷歌搜索后,我仍然不知道是什么。
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+ 是否提供了一些钩子来做这种事情?任何帮助将不胜感激。
javascript - 使用 WebkitGTK 泄漏
我正在尝试使用 WebkitGTK。使用一个简单的“hello world”风格的应用程序,它只下载一个网页然后退出,WebKit 在运行程序后报告泄漏的对象:
WebkitGTK 程序是一个简单的 C 程序:
我下载的 HTML 很简单:
经过一些实验,我观察到如果我删除标签就不会发生泄漏<script>
,这让我相信我应该做一些事情来关闭 JavaScriptCore。那么,为什么 WebKit 会报告泄漏?
webkit - WebView 标题有时不应该为 null
我正在用 Vala 和 WebKitGTK+ 编写一个简单的浏览器。我需要做的一件事是将窗口的标题设置为网页标题的标题,因此我使用web_view.notify["title"].connect
. 但是,有时 title 的值是null
,而它显然不应该是。
我记得的一些例子:
- 在 Google 中搜索任何内容。转到下一个结果页面将标题设置为
null
。 - 单击锚链接(例如http://example.com/page.html#section)
无论如何,使用 Web Inspector 表明页面确实有一个标题集。
这是我应该报告的错误吗?或者也许我做错了什么?这是我正在使用的代码: