问题标签 [awesomium]
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# - Awesomium JSObject 是如何工作的,我找不到示例
我在 C# 的表单上使用 Awesomium WebControl,我试图将信息传递到浏览器中,表明 USB 设备已插入我有 USB 检测工作,但由于某种原因,我无法JSObject()
使用每个值构建设备插入其中。
这是将设备插入计算机时触发的代码
但是当我在 js_arr 添加一个断点this.Browser.CallJavascriptFunction("DiskDetector", "DeviceAdded", js_arr);
是一个 4 的数组,其中所有的值都是空的
我认为问题是我使用 JSObject 和设置值 JSObject Extends IDisposable 并且我虽然必须全部 Add("key", "Value"); 但该方法不适合我使用
c# - 使用 awesomium 从 c# 调用 Javascript
我正在尝试使用 awesomium 创建一个基本的应用程序,我正在测试 js <----> c# 通信,但这似乎效果不佳......我创建了一个本地 html 并打开它......到目前为止一切都很好..但是当我尝试调用 js 时,什么也没有发生,没有错误,没有错误,什么都没有,只是这不会调用 js ..
我的基本 js 代码是:
如果我在萤火虫中测试这个显然我可以很好地调用我的函数并创建项目或警报框......
现在..我的 C# 代码是这样的
文件加载良好,但 js 通信不起作用非常感谢,我希望能帮助我......这个 awesomium 真的很棒
c# - 单个物理印刷机的多个字符输入
我正在尝试处理键盘事件的 Windows 消息并将它们传递给 awesomium webview。webview 对 windows 事件有本地处理,但主机程序必须捕获它们,然后发送它们。
我正在使用 .net 和 com 互操作来捕获和发送消息。据我所知,关键事件已传递,但输入是可变的。例如,在单次按下的文本框中输入了不同数量的字符。
这是我正在使用的代码示例(归功于 awesomium 网站上的 Sekhat):
我是否错误地处理了事件,导致输入数量可变?我相信相关部分在上面,但如果需要可以发布其余部分。
附带说明一下,当我使用 WH_KEYBOARD 而不是 WH_GETMESSAGE 时,会引发 AccessViolationException。KEYBOARD 事件是否适合使用?感谢您提供任何帮助。
编辑:我做了一些进一步的调查,发现多条 0x102 (WM_CHAR) 类型的消息正在传递给我的程序。传递的数字与 awesomium 然后输出的字符数相匹配。我应该将此限制为仅第一条消息吗?虽然这可能有效,但我仍然想知道为什么会这样。
angularjs - Awesomium 中的 DOM 异常 18
我有一个从本地文件系统加载并使用awesomium呈现的网页,该页面使用AngularJS呈现页面的一部分。但是,我的 AngularJS 控制器的一部分产生了 Dom 异常 18:
angular-1.0.0rc10.js @ 第 5349 行错误:SECURITY_ERR:DOM 异常 18
看来这个异常是由我的 AngularJS 控制器末尾的这段代码引起的:
奇怪的是,如果我使用直接的 XMLHttpRequest 而不是 AngularJS $http 对象,一切都很好:
当我简单地在 chrome 中加载此页面时(关闭本地文件系统,与 awesomium 相同),不会生成此异常。
什么可能导致这种情况,我该如何解决?
c# - C# Awesomium Web 浏览器设置 DIV 内容
我正在使用 C# 制作一个使用 Awesomium 作为界面的程序。当程序运行时,它会生成一个列表,有时该列表可能非常大(5 - 6k 行)。此列表仅生成一次并存储在机器上。
当表单加载时,它是一个 Web 浏览器控件,它从服务器加载网页并显示它,该网页本质上是标准 GUI 的替代品。
我需要做的是获取该列表并将其显示在浏览器控件中。有一个带有 ID 的 Div,我需要在其中显示列表。
任何帮助,将不胜感激。
问候。
awesomium - 有没有办法在 Awesomium 中使用代理身份验证?
我似乎找不到使用用户名和密码 (http/socks4) 的代理的方法。任何输入都会很棒:)
我正在使用 .net 包装器,但我想这没有任何区别。
谢谢,
约翰
c# - WPF WebBrowser——“DOMChanged”事件是否有替代方案?
我已经尝试过内置的 WPF WebBrowser (.NET ActiveX Wrapper)、Awesomium.NET 和 Chromium.NET。
我不确定我是否在这里遗漏了一些东西,但我不知道是否有任何方法可以在 DOM 更改时引发事件,以便我的 C# 代码可以执行。如果可以的话,我想避免每次都有计时器检查/比较 DOM 的更改...
所以,我只是想知道我是否错过了这些控件中允许我做我想做的事情的东西,或者如果没有,是否有任何替代/方法来拥有 DOMChanged 事件?
c# - 在不可变对象中处理来自终结器的底层对象
我正在尝试环绕Awesomium
并使其看起来尽可能接近 NET 的其余代码,WebBrowser
因为这是针对已经使用WebBrowser
.
在这个库中,有一个名为的类JSObject
,它代表一个 javascript 对象。例如,您可以通过调用类的ExecuteJavascriptWithResult
方法来获得其中之一WebView
。如果你把它叫做 like myWebView.ExecuteJavascriptWithResult("document", string.Empty).ToObject()
,那么你会得到一个JSObject
代表文档的。
我正在编写一个不可变的类(它的唯一字段是一个readonly JSObject
对象)JSObjectWrap
,JSObject
我想将其用作其他类的基类,这些类将模拟 .NET 类,例如HtmlElement
和HtmlDocument
。现在,这些类不实现Dispose
,但是实现了JSObject
。我首先想到的是在我的终结器中调用底层JSObject
的Dispose
方法(而不是实现),以便我的其余代码可以保持原样(而不是必须在任何地方添加 ' 并确保每个都是妥善处置)。JSObjectWrap
JSObjectWrap
Dispose
using
JSObjectWrap
但我刚刚意识到,如果两个以上JSObjectWrap
的具有相同的基础JSObject
,其中一个得到最终确定,这将搞砸另一个JSObjectWrap
。所以现在我在想也许我应该保持一个静态Dictionary
并JSObjects
计算它们中的每一个被 a 引用了多少,JSObjectWrap
但这听起来很混乱,我认为可能会导致主要的性能问题。
由于这对我来说听起来像是一种常见的模式,我想知道是否还有其他人有更好的主意。
c# - C# - 使用 Awesomium 与 Gmail 交互
我可以导航到 gmail,但是我想做一些简单的事情,比如输入凭据并单击登录按钮。
什么都没发生。我知道在 Chrome 中使用开发人员工具时,您无法修改页面上的任何内容。但是有没有填写表格的方法?
还有其他更好的无头浏览器吗?我实际上需要一个支持 Web 控件的控件,我可以将其放入我的表单中,这样我就可以看到正在发生的事情。这是强制性的
c# - 希望在 WPF 中将实时网页显示为 3d 对象上的纹理
我将http://awesomium.com/ (1.7 RC2) 用于 webview,将http://perspective.codeplex.com/用于 3d 对象。
XAML:
代码背后:
出于某种原因,甚至没有调用 WebTexture 的 get 访问器,所以我猜我在这里遗漏了一些东西(2 小时的 google/bing/duckduckgo 也没有带来任何东西)。