- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 Awesomium library对于我的 C++ 应用程序的 UI(“纯”C++、无 .NET、预编译头文件等)。
一切正常,我能够将事件从 C++ 应用程序发送到 Awesomium 中的 JavaScript,反之亦然。 UI 响应点击等。感谢 webCore->Update()
。
问题是,有时 JavaScript 会发生错误。我希望看到它们像Edge/Chrome/Firefox(您可以在其中按 F12 查看控制台、调试器等)。
我知道可以通过适当的 WebConfig
为 Awesomium 使用远程调试器,所以我尝试过:
Awesomium::WebConfig webConfig;
webConfig.remote_debugging_host = Awesomium::WSLit("127.0.0.1");
webConfig.remote_debugging_port = 9222;
//create the WebCore singleton with configuration
webCore = Awesomium::WebCore::Initialize(webConfig);
//create a new WebView instance with a certain width and height
view = webCore->CreateWebView(width, height, 0, Awesomium::kWebViewType_Window);
view->set_parent_window(*windowHandle->getHWND());
view->set_view_listener(this);
//create a global js object named 'app'
Awesomium::JSValue result = view->CreateGlobalJavascriptObject(Awesomium::WSLit("app"));
//bind our method dispatcher to the WebView
view->set_js_method_handler(this);
if (result.IsObject()) {
//bind our custom method to it
Awesomium::JSObject& appObject = result.ToObject();
appObject.SetCustomMethod(Awesomium::WSLit("sendEvent"), false);
}
现在在 Chrome 中的 http://localhost:9222/#
我看到了我的 session :
我能够,例如使用调试器在我的 C++ 应用程序中选择 UI 元素。但我在 Chrome 中的调试器控制台选项卡中看不到任何内容(我确实在加载到 Awesomium 的网站内部使用了 console.log("Hello!")
):
附注调试器窗口不是 100% 高度(正如您在屏幕上看到的那样)。我能以某种方式修复它吗?
附注 2。谷歌浏览器不是我选择的浏览器。我可以使用另一个来调试 Awesomium UI 吗?
最佳答案
JavaScript 错误/调试消息在 Awesomium (v1.7.5.1) 的远程调试器中不可见。我找到的唯一方法是监听 WebViewListener::Load
类中的 OnAddConsoleMessage()
方法。您必须创建自己的子类并将其注册到您的 webview。
#include <Awesomium/WebViewListener.h>
class MyViewListender : public WebViewListener::View {
// ... All the overridden WebViewListener::View methods go here
void OnAddConsoleMessage(Awesomium::WebView* caller,
const Awesomium::WebString& message,
int line_number,
const Awesomium::WebString& source)
{
cout << "Console: " << message << endl;
}
};
注册它:
MyViewListender* my_view_listener = new MyViewListender();
view->set_view_listener(my_view_listener);
关于javascript - Console.log() 不输出到 C++ 中 Awesomium 的远程调试器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35571490/
我们正在将 Awesomium ( http://awesomium.com/ ) 用于一个新项目。 问题是在 JavaScript 中将一些数据保存在 localStorage 中时,它不是持久的。
我似乎找不到使用用户名和密码(http/socks4)的代理的方法。任何输入都会很棒:) 我正在使用 .net 包装器,但我想这没有任何区别。 谢谢, 约翰 最佳答案 您需要处理 WebControl
我是一名从事 Angular Awesomium 项目的 JS 开发人员 - 是否有人对如何使用 Awesomium Inspector 启用 console.log() 有明确的答案,这对我来说是必
我之前问过这个问题,但我想重新表述一下这个问题。我正在尝试为我的项目制作一个刮刀。我想让它显示链接的特定部分。链接中唯一发生变化的部分是数字。这个数字就是我想要抓取的。该链接如下所示: 如前所述,我
我用 awesomium 创建了一个 wpf 网络浏览器,但网页看起来不像 chrome 和其他浏览器那样清晰。我使用的是 visual c#。有人可以帮我解决这个问题吗? 最佳答案 在 1.6 分支
我刚开始使用 awesomium。我想了解如何更改用户代理和引荐来源网址。例如,我需要初始化 5 个 istance o awesomium webcontrol,对于它们中的每一个,我都需要不同的用
Javascript/HTML function configurator(clicked) { myGlobalObject.onLinkClicked(clicked.name);
我想用 C# 和 Awesomium 编写一个应用程序,以记住用户已登录该网站。为此,我使用以下代码: private void button1_Click(object sender, EventA
我在我的 wpf 应用程序中使用 Awesomium 浏览器控件。它从 url 加载网站,但我有问题。我的网站有一些目标为空白的 anchor 链接。但是当我单击该 anchor 标记时,没有任何反应
默认情况下,WPF 应用程序中的 awesomium 不支持缩放和平移的触摸事件: browserLeft.StylusDown += browserLeft_StylusDown; brow
所以我一直在尝试在我的一个副项目(C#,WPF 项目类型)中使用 IE 以外的东西作为我的 webcontrol,我一直在寻找替代方案并且在过去尝试过但未能实现它们. 我决定再试一次并实现 aweso
我想在我的 WPF 应用程序中使用 Awesomium 作为嵌入式网络浏览器。 我已经尝试安装最新的 Awesomium SDK (1.6.3b),以及之前的两个版本(1.6.2 和 1.6.1)。在
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 1 年前。
我正在使用 Awesomium 创建一个 headless 浏览器。我希望浏览器返回网络错误代码,所以我知道它是如何/为什么会中断的。 using (WebSession session = WebC
Go Home 我试图让Awesomium点击某个按钮,以上面的例子为例,没有ID只有一个标签 它可能没有 click()方法。 您可以尝试以下方法来检查: JSObject btn = web
我有一个 tabcontrol,在 tabcontrol 中我有两个 tabitem,它们都包含一个 awesomium Webcontrol。然而,经过一段时间的随机时间后,Webcontrols
大家好, 我正在用类中的 awesomium webcontrol 制作一个 Winform 项目。我将该控件导航到 http://www.google.com/(仅用于测试)并向其添加了一个 Doc
有没有办法在 webControl 中将 html 作为字符串加载? 类似于: webControl.Load("..."); 就像在普通的 wpf webControl 中使用的那样: webCon
我正在尝试使用外部 javascript 文件中的函数,这些文件包含在我的 html 页面中,带有“script”标签。直接在 html 页面中实现的 Javascript 函数似乎可以正常工作,但外
在这段代码中我得到了所有人的数量。这有效。现在我想从所有人中随机选出一个人,但这行不通。我在 using (person) 行收到一个 Microsoft.CSharp.RuntimeBinder.R
我是一名优秀的程序员,十分优秀!