问题标签 [webkit.net]
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# - Webkit .net 可以实例化没有表单界面的浏览器实例吗?
或者,就此而言,是否有另一种在 C# 中访问 Webkit 的有效方式,而不是 Webkit.net?我正在尝试在 Web 服务中使用 Webkit 创建一个网站缩略图生成器。与控件的 WinForms 主机有关是小菜一碟,但我似乎无法找到它的纯库接口......
TIA。
.net - 将生成的图像集成到 .NET 中的 webkit 浏览器中
我想使用 WebKit (http://webkitdotnet.sourceforge.net/) 的 .NET 端口来显示生成的 HTML 以及生成的图像。
DocumentText
我可以使用该属性轻松设置文档 html 。我如何将图像传递到浏览器中?
我找到了实现本地 Web 服务器的解决方案,但我想知道是否有更直接的方法。
.net - Webkit.net 以编程方式滚动文档
如果我每次设置属性时都使用Webkit.Net在我的 winforms 应用程序中显示 HTML DocumentText
,则文档将滚动回到开头。
更改文档文本后如何获取当前滚动位置并设置它?
jquery - jquery 属性 getter 破坏了我的 webkitdotnet
我通过 c# 使用webkit dot net浏览器,并且我有一个网站,我通过该浏览器在桌面应用程序中显示。无论如何,我得出了一个结论(逐行测试),这一行“破坏”了我的程序(即没有显示任何内容):
问题是相同的代码在最新的 Google Chrome 浏览器中运行良好,所以它必须归功于 webkitdotnet。现在,我在问是否有人有类似的问题(以及他/她是如何解决的),欢迎任何帮助。
我的第二个问题(不确定我是否应该将其作为单独的问题发布?-如果是,请告诉我,我会的):是否有可能以某种方式将 Chrome 安装中的文件“复制”到 webkitdotnet 文件夹(我看到很多 dll)因此有更新的版本?
我已经在他们的论坛上问过了,但似乎开发已经停止,所以如果有人也可能知道其他一些好的 webkit 包装器用于 .net,请告知,记住我已经尝试过其中的一些。
webkit - Webkit HTTPS 身份验证
我正在开发我的第一个 Windows 窗体应用程序以使用 WebKit.Net。我需要连接到一个 https 站点并弹出一个身份验证表单。使用 .Net 的内置浏览器,身份验证表单会自动弹出,但 WebKit 只是将我丢到 401 身份验证错误页面,我不知道如何让它进行身份验证。有任何想法吗?
即使我可以在核心 webkit 库中弄清楚如何做到这一点,我也可以修改 WebKit.Net 以支持它,但我什至找不到。我试着搜索铬源,看看他们是如何处理它的,但它超出了我的想象。任何帮助表示赞赏。
~therealmitchconnors
更新:WebKit.NET 建立在 WebKit 的 WinCairo 端口上,它使用 CFLite 代替 Apple 封闭的 CFNetwork dll。显然,CFLite 不支持身份验证挑战,这是执行此操作的“正确”方式。因此,我在 WebResourceLoadDelegate 中添加了一些代码来检查用户名和密码,如果提供了,但未包含标头,则取消该 Web 请求并重新调用导航方法,包括用户名和密码。这是一个非常丑陋的黑客,但它有效。在 webkitdotnet/therealmitchconnors 上查看。
现在要弄清楚如何关闭问题...
c# - WebKit.Net 和 OpenWebKitSharp 错误:无法初始化激活上下文
我同时使用 WebKit.Net 和 OpenWebKitSharp。但是,当我尝试实例化 WebKitBrowser 时,我收到一个错误:无法初始化激活上下文 有人知道这是什么吗?
webbrowser-control - 具有良好性能和自动 NTLM 身份验证的 .NET WebBrowser 控件
对于我们的项目,我们需要支持自动 Windows 身份验证的 .NET WebBrowser 控件(就像 IE 一样)。我们已经审查了许多选项,但仍然无法选择合适的选项:
1)基于IE的标准WebBrowser控件。相当快,但它只是有巨大的内存泄漏。在我们的富脚本页面上,每次打开新页面都会泄漏大约 7Mb 的内存。围绕它有很多讨论,但没有解决方案。
2) Awesomium WebBrowser 控件 (awesomium.com)。它看起来确实是一个不错的选择,并且在文档中声明它支持自动 Windows 身份验证,所以我们打算购买它。但是自动 Windows 身份验证不起作用。支持只是忽略有关它的所有问题(尽管很快回答其他问题)。这是我见过的对付费组件最糟糕的支持之一。
3) GeckoFx - 它工作得很好,但它太慢了(即使是 IE 控制也快了 2-3 倍)。
4) Webkit.Net - 它非常快,本来是不错的选择,但它根本不支持自动 Windows 身份验证。
我们可以考虑其他选择吗?免费/付费组件都为我们工作。
c# - 有没有办法在不显示 gui 窗口的情况下运行 c# forms 应用程序(如控制台应用程序)
有没有办法在不显示 gui 窗口(如控制台应用程序)的情况下运行 c# forms 应用程序。我正在尝试将网页的屏幕短片加载到webkit.net 控件中。
一切正常,我可以获得屏幕截图,但如果有一种方法可以在不显示窗口的情况下运行应用程序,那么将其包含在脚本中以自动捕获网页会更加简洁。
我尝试过: form.hide() 方法,但有些方法根本不隐藏任何东西。
c# - 在 C# 和 JavaScript 之间传递元素
我正在为 .NET 替换 .NET WebBrowser
,WebKit.NET
而我一直在使用的功能之一是WebBrowser
我无法弄清楚如何在我正在编写的包装器中实现WebKit
的功能是传递 DOM JavaScript 和 C# 代码之间的元素。
在 a 中WebBrowser
,您只需调用InvokeScript
并传递 an 的DomElement
属性HtmlElement
作为参数,JavaScript 函数就会获取该元素。同样,您可以将一个元素从 JavaScript 传递给 C#,然后 C# 代码将获得一个DomElement
对象。
据WebKit
我所知,我不能这样做。该InvokeStriptMethod
方法已损坏,但StringByEvaluatingJavaScriptFromString
不是,这让我可以将脚本注入当前文档并在以后随时调用它们。
请注意,这些文档不会是我自己创建的文档,所以我不能做诸如为每个元素分配 ID 之类的事情。这是一个网络爬虫,我需要尽可能避免弄乱文档的元素。
一种可能可行的技巧是为元素分配一个临时 ID 并备份旧 ID,然后我可以GetElementById
从 JavaScript 或 C# 调用以获取元素,然后重新分配旧元素的 ID。问题是GetAttribute('id')
当 ID 为 时,WebKit 会给我一个空字符串undefined
,所以我的 C# 代码无法知道 ID 是空字符串还是undefined
,谁知道,当前网页的脚本可能依赖于 ID出于某种原因undefined
,因此将 ID 设置为空字符串可能会弄乱他们的 javascript。
任何人都有更好的主意或者WebKit
我可以使用其他任何方法吗?
c# - 在 WebKit.NET 上获取 HTTP 标头
我一直在试图弄清楚如何处理 401 响应WebKit.NET
并显示一个身份验证框,以便用户可以输入他的凭据,然后将它们发送回服务器。
这家伙想出了一种方法来将正确的标头添加到新请求并将它们发送到服务器,但似乎代码正在将它们发送到浏览器导航到的每个页面,这不是我想要的。我对代码进行了一些研究,并调用了这个接口IWebResourceLoadDelegate
,其中包含两个调用的事件处理程序didReceiveResponse
,didReceiveContentLength
每个响应都会调用它,但无法弄清楚如何从传递的参数中读取标头。我认为标题根本没有通过。
此外,似乎web kit sharp的人也没有解决这个问题,但 Chrome 确实可以正确处理它。我不确定 WebKit Chrome 使用的是哪个版本。我只是希望不是自定义构建,这样我就别无选择,只能在余生中尝试构建 WebKit(而其他人则在尝试添加缺少的功能)。
任何人都知道我怎么能开始弄清楚如何处理这个?