问题标签 [webkit2-webextension]
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.
webkit2 - 在没有 JavaScript 的 WebKit2 Web 扩展中清除选择
我想从 Web 扩展中清除选择。
有信号selection-changed
,但似乎没有办法清除选择。
我尝试创建一个WebKitDOMRange
,但似乎无法在文档中设置这个新范围。而且它似乎没有办法获得当前范围。
如何在不使用 JavaScript 字符串的情况下从 WebKit2 Web 扩展中清除选择?
javascript - 如何在 webkit2gtk 中向 javascript 公开本机代码
我想向 javascript 公开本机对象或函数,以便在浏览器中调用特定函数时可以在 C 中使用回调函数。
从这个例子中,似乎可以在 WebKitGTK1 中使用信号“ window-object-cleared ”。
我怎样才能在 WebKitGTK2 中实现相同的功能,我希望它与WebKitWebExtension 有关。但我不确定,也没有明确的指导方针或实施 WebKitWebExtension 的例子。谁能帮我解决我的要求?
c++ - 如何调试 WebKit2GTK+ 扩展
我正在尝试让 WebKit2GTK+ Extensions 工作,它是一个简单的扩展,它只会在创建页面时打印到控制台中。这是我的项目结构:
gtk_manager.cpp 文件包含头文件的实现,只有 init() 函数很重要(稍后会介绍)
webextension.cpp
运行时的导出和动态链接工作,我可以hi()
从 gtk_manager.cpp 的init()
方法调用。webkit_web_extension_initialize()
没有显示任何工作/被调用的迹象,因为“extension hi”没有打印到控制台中。
gtk_manager.cpp(gtk/gtk.h、glib.h 和 webkit2/webkit2.h 正在包含文件夹中的 gtk_manager.h 中)
如果需要更多信息来找到解决方案,我将编辑此问题。
这些是我正在使用的资源:
c++ - WebKit2GTK+“页面创建”扩展只工作一次
这是来自How to debug WebKit2GTK+ extensions的后续问题。虽然那里有更多代码可供参考,但我对其进行了一些更改。
我有以下 webkit 扩展:
根据https://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebExtension.html和https://blogs.igalia.com/carlosgc/2013/09/10/webkit2gtk-web-process-extensions/,这应该打印每次创建页面时都会发出一条消息。我使用扩展的实现方式与 webkit 参考文档相同,它是“initialize-web-extension”的回调。
我不知道这是否有区别,但我的 WebKitWebView 对象被打包在一个 GTKWidget 框对象中。这是我得到的输出:
即使我打开一个新文件(我有一个打开文件的文件选择对话框,这就是为什么将 WebKitWebView 打包到 GTK_BOX 中),这永远不会再次打印出来。
这是 WebKit2GTK 文档对“页面创建”处理程序所说的:
void user_function (WebKitWebExtension *extension, WebKitWebPage *web_page, gpointer user_data)
在 Web 进程中创建新的 WebKitWebPage 时会发出此信号。参数
extension:发出信号的 WebKitWebExtension
web_page:创建的 WebKitWebPage
user_data:连接信号处理程序时的用户数据集。
标志:最后运行
如果这给出了创建的网页,那么为什么我不能用 uri 获取 uri webkit_web_page_get_uri()
?为什么这只为加载的第一页提供输出(尽管混乱)?
编辑:我正在使用 webkit_web_view_load_uri() 加载页面
c++ - WebKit2GTK+“窗口对象清除”未清除
这是后续行动:如何调试 WebKit2GTK+ 扩展
这是我的扩展:
唯一打印到控制台的是“为(null)创建的第 1 页”。当没有创建任何内容时,将调用创建的页面的回调,对于 winow-object-cleared 是否相同?
我不知道为什么 window_object_cleared 对象现在显示出工作迹象。
firefox-addon-webextensions - WebExtension 显示安全对话框
我想编写一个 web 扩展,显示一个小对话框以从用户那里获取一些敏感数据。但是,我没有什么 thieves.com 能够产生一个看起来与我将要呈现的对话完全一样的对话。
有没有办法在任何常见的浏览器中做到这一点?一种想法是将对话框放在 URL 栏中,我认为这在网页中是不可能的。但这在网页上真的是不可能的吗?是否可以使用普通的扩展程序?
另一种选择可能是用于保护窗口的 ctrl-alt-delete。让用户键入一些 javascript 无法拦截的击键。
c++ - 通过 WPE 上的 WebKit Web 扩展进行 DOM 注入
在 WPE/WebKit 中,我想在 WebPage/WebFrame 实际处理和加载 HTML之前<script>
,以编程方式在加载的 HTML 资源的 DOM 中注入自定义元素。
最简单的方法是什么?WebKit2 Web Extensions API 是否提供对此类功能的支持,或者我是否必须修补 WebKit 源?任何指向相应文档和/或示例代码的指针都非常受欢迎。
PS 我已经知道 WebKit2 Web Extensions API 允许注入自定义 JavaScript 代码以响应window-object-cleared
信号,但是,这不符合我的需要,因为注入的 JavaScript 执行的代码取决于有效 DOM 的存在。