如何在 webkit2gtk 上获取选中的文本
How to get selected text on webkit2gtk
webkit2gtk上的select文本有什么方法。我在 API 上找不到 Vala webkit2.
的任何内容
要求是在用户在文本 selection 后释放鼠标后,在网页上获取 selected 文本。
获取当前选择的唯一 API 是通过 DOM selection API。在 WebKitGTK+ 中访问 DOM 有点尴尬,因为 DOM 表示存在于 Web 进程的内存中,它与具有 WebKit.WebView 小部件的应用程序进程分开.
要在两者之间架起桥梁,您可以调用 WebKit.WebView.run_javascript()
并传递适当的 JavaScript 代码以在网络进程中执行,例如:
web_view.run_javascript("window.getSelection().getRangeAt(0).toString()")
要使用此方法,您需要使用 vala 0.38,或将 JavaScriptCore VAPI 导入到您自己的项目中(就像 Geary 所做的那样),这样您就可以计算出return 值为。
另请注意,您可能希望对此添加一些检查:DOM 选择对象中至少有一个范围,等等。
webkit2gtk上的select文本有什么方法。我在 API 上找不到 Vala webkit2.
的任何内容要求是在用户在文本 selection 后释放鼠标后,在网页上获取 selected 文本。
获取当前选择的唯一 API 是通过 DOM selection API。在 WebKitGTK+ 中访问 DOM 有点尴尬,因为 DOM 表示存在于 Web 进程的内存中,它与具有 WebKit.WebView 小部件的应用程序进程分开.
要在两者之间架起桥梁,您可以调用 WebKit.WebView.run_javascript()
并传递适当的 JavaScript 代码以在网络进程中执行,例如:
web_view.run_javascript("window.getSelection().getRangeAt(0).toString()")
要使用此方法,您需要使用 vala 0.38,或将 JavaScriptCore VAPI 导入到您自己的项目中(就像 Geary 所做的那样),这样您就可以计算出return 值为。
另请注意,您可能希望对此添加一些检查:DOM 选择对象中至少有一个范围,等等。