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

python - 当 webkit 浏览器重定向到页面时,我如何获取页面的 url?

在身份验证过程后加载重定向页面时,我需要从重定向页面的 url 中提取一个字符串。当我的程序加载这个特定的重定向 url 时,如何让我的程序做到这一点?我正在使用 Webkit 和 GTk3

0 投票
2 回答
1394 浏览

python - 如何使用 Gtk 3.0 和 WebKit2 4.0 处理 Python 中的链接点击?

我已经创建了我的视图(包装在一个窗口中)并加载了一个这样的 URL:

我的“迷你浏览器”启动,我可以单击本地链接(绑定到 JavaScript 事件的链接或指向同一域上其他页面的链接)。但是当链接指向其他域时,什么也没有发生。如何捕捉外部链接的点击?或者如何在系统默认浏览器中打开这些链接?

更新:“迷你浏览器”不处理跨站点链接。我可以编写一个事件挂钩(onclick)来中断“迷你浏览器”并根据自定义逻辑进行操作,还是有办法配置跨站点链接。

0 投票
0 回答
106 浏览

dom - 如何在 WebKitGTK 中获取元素的属性?

value我想在 WebKitGTK中获取元素的属性(例如, )。我可以很容易地获得一个属性,并且我也可以通过使用例如获得某些类型的一些属性webkit_dom_html_input_element_get_value,但是有没有一种通用的方法来获得具有该属性的任何元素的任何属性?

0 投票
0 回答
101 浏览

webkit - 在 WebKitGTK1 中使用自定义方案更改页面内容

我有一个在 Linux 上使用 WebKitGTK1 API 和 WebKit-GTK 2.4.9 的应用程序。(这是 Debian Jessie 中的当前版本,2.5+ 版本不支持 v1 API。)

我已经实现了一个自定义 URI 方案,用于使用resource-request-starting处理程序加载整个基本页面内容,该处理程序通过解析传入的 URI webkit_web_resource_get_uri,如果它与自定义方案匹配,则生成一些 HTML 内容并调用webkit_network_request_set_uri以用 base64 的 URI 替换原始data:URI包含要呈现的内容。(这类似于这个问题的公认答案。)

这通常运行良好,并且我的处理程序在每个请求(包括具有相同原始 URI 的重复请求)上调用并生成正确的内容——但在上游某处,浏览器似乎只呈现任何给定原始 URI 的第一个返回数据,甚至如果我生成的数据 URI 不同。

可能需要注意的是,即使在调用之后也会webkit_web_resource_get_uri返回原始的非URI ,所以我假设这个 URI 正在被缓存,然后被用作某些更高级别组件中的键来缓存数据,而不是使用真正的URI从请求中。data:webkit_network_request_set_uri

不幸的是,这似乎是一个G_PARAM_CONSTRUCT_ONLY属性,并且似乎没有任何公共 API 可以设置和/或清除它,以便它使用重写的请求 URI。无论如何,有什么方法可以强制 GTK 在施工后设置属性?据我所知,它在内部确实有一个 setter 方法,如果内部属性被重置为 NULL,getter 会做正确的事情。

或者是否有更好的方法来强制 WebKit 呈现新的data:URI,尽管它认为相反?


目前,我通过在原始自定义 URI 中包含使其生成不同数据的值(传递到webkit_web_view_load_uri生成页面中的链接或在生成页面中的链接中)来解决它。这确实有效,但有点难看,如果我以后忘记添加一些东西,或者如果某些东西改变了生成但事先不知道,可能会出现问题。似乎有点愚蠢,它费尽心思引发生成正确数据的事件,只是稍后将其丢弃,(大概)由于对错误 URI 的 URI 比较。

我想使用已知的唯一值(例如,顺序递增的 id)也可以,并解决一些预先未知的问题,但这同样丑陋。

0 投票
1 回答
263 浏览

webkit - Webkit2gtk 获取新窗口链接

我需要在新窗口中获取链接要求 webkit2gtk

在 create-web-view 中,新窗口的 uri 在哪里?

它到 webkitGTK 我需要 webkit2Gtk

0 投票
1 回答
174 浏览

gtk - 如何将菜单项添加到 WebKitContextMenu(javascript、gjs)?

当我尝试使用此代码将菜单项添加到 web 视图时:

应用程序退出并出现错误“分段错误(核心转储)”将菜单项添加到 WebView 的上下文菜单的正确方法是什么?

0 投票
1 回答
303 浏览

python - Todoist 与 gnome-todo 集成

我正在尝试将 Todoist 集成到 Gnome-Todo。我正在实施 OAuth,但在用户授予访问权限后我被困在第二步,重定向的 url 似乎不包含需要交换访问令牌的代码。

在此页面上,我授予访问权限:

http://imgur.com/a/76Qgd

在此之后,我被重定向到此页面,但 url 不包含任何名为 code 的参数,我需要交换这些参数以获取访问令牌。我也不知道这ei是什么?有任何想法吗?

0 投票
0 回答
207 浏览

haskell - 从用 haskell reflex-dom 编写的 webkit 客户端访问 web 服务器

这是Acess aservant server with a reflex-dom client的后续问题:

如果我在网络浏览器中运行客户端代码,一切正常。但是,如果我在 gtk3(和 Debian)下的 webkit 中运行客户端代码,我可以在服务器中看到请求,但客户端没有收到任何响应。

我认为,这又是某种安全或 CORS 问题。我发现这篇文章How to disable web security (cross origin reequest) in webkit gtk from the year 2012 说由于这个错误而不可能https://bugs.webkit.org/show_bug.cgi?id=58378。如果我查看此错误,它会显示:Status: RESOLVED FIXED。提到的SO帖子的第二个答案显示了未指定文件中的一些设置..

我的问题是:我必须在哪里(目录和文件)指定什么,才能从 WebkitGtk 客户端访问服务器。

0 投票
0 回答
178 浏览

python-3.x - 在 Python3 中访问 DOMDocument

所以我正在使用 Oython / GTK+ 创建一个小程序,它的核心是一个显示一些 HTML 页面的 WebView。我现在想允许用户通过突出显示文本、下划线文本等来操作视图。稍后我希望我的程序将此标记存储在不同的文件中,以便以后可以动态加载它。

我可以简单地将 WebView 设置为可编辑,但随后我必须保存更改后的 HTML 文档;我宁愿保持原始文档不变并单独保存用户标记。

我的想法是使用 DOM,尤其是。DOMDOMSelection 和 DOMRange 函数。WebKit3.0 API(此处)指出

应该返回一个WebKit.DOMDocument。但是,正如运行附加的 MWE(如下)所示,此调用返回WebKit.DOMHTMLDocument。使用此对象,我找不到访问 DOMDocument 或 DOMDOMSelection 的方法,我需要继续进行。

我的问题:

问:这是一个已知的错误还是我使用了错误的调用?

编辑1:

虽然我不确定上面提到的返回值是否正确,但我找到了一种解决问题的方法:

END_EDIT1

如果有另一种(更简单的)方法来实现这一点,我愿意接受建议;)提前致谢。


设置:

Linux Antergos 4.9.11-1-ARCH x86_64

吉尼

Python3.6.0

gir1.0


MWE

0 投票
1 回答
336 浏览

c++ - 无法将本地编译的库添加到 CMake 项目

作为我正在进行的项目的一部分,我需要使用 WebKitGTK+ 库。我下载了库(tarball)并按照此处所述进行了编译。

编译完成后:
lib 的头文件在/usr/local/include.
lib 的.so文件位于/usr/local/lib.

在我的 C++ 项目中,我尝试添加以下CMakeLists.txt文件:

但是,在编译项目时出现以下错误:

我对 CMake 几乎没有经验,并且真的可以使用一些帮助。