我有一个用.NET构建的Awesomium构建的项目,它需要使用Flash.Flash尝试访问本地内容(视频播放器)时出现安全错误,而Awesomium提供的解决方案尚未移植到.NET包装器.我想知道是否有一种相当直接的方式在应用程序中包含一个运行时Web服务器,我可以选择一些任意端口并在应用程序运行时创建一个localhost服务器并指向我的Awesomium浏览器.
有任何想法吗?
我在互联网上寻找答案,但我必须提出错误的问题.我有一个带有Awesomium网页控件的C#winforms应用程序.我能够从加载的页面中的javascript调用应用程序中定义的方法吗?如果是这样,怎么样?(样本js代码将不胜感激).谢谢!
我正在尝试使用awesomium来创建一个基本的应用程序,我正在测试js <----> c#通信,但这似乎不能正常工作......我创建了一个本地html并打开它..这么好..但是,当我尝试调用js没有任何事情发生,没有错误,没有错误,没有,只是这不会调用js ..
我的基本js代码是:
var base = {
newItem : function(item){
$("#botones").append('<div class="botonMenu">' + item + '</div>');
},
other : function(){
alert("hi!!");
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在firebug中测试这个,显然我可以很好地调用我的功能并创建项目或警告框...
now..my c#代码就是这个
//I've wrote this code inside the winForms sample..but change the code for load
//my local file and call js....
WebCore.BaseDirectory = @"C:\Documents and Settings\ME\dummytests\codes\views";
webView.LoadFile("base.html");
JSValue param1 = new JSValue("nameItem");
webView.CallJavascriptFunction("base", "other");
webView.CallJavascriptFunction("base","newItem", param1);
webView.Focus();
Run Code Online (Sandbox Code Playgroud)
这个文件负载很好,但是js通信不起作用,非常感谢,我希望可以帮助我...这个awesomium真的很棒
默认情况下awesomium
,WPF应用程序不支持缩放和平移的触摸事件:
browserLeft.StylusDown += browserLeft_StylusDown;
browserLeft.TouchDown += browserLeft_TouchDown;
Run Code Online (Sandbox Code Playgroud)
我想自己操纵浏览器,但没有一个代码不会触及,为什么?
我能够在Ogre3D中找到CEF3的基本实现 - 但我希望Unity3D会有类似的东西.
我目前正在使用Awesomium,但是,我现在需要使用RTCPeerConnection(需要Chromium 29+).目前,Awesomium仅限于Chromium 18,目前尚不清楚需要花多长时间才能完成(不会屏住呼吸).
CEF是开源的,并且经常更新.
我会自己这样做,但我不知道从哪里开始.我希望:
拥有足够Unity经验的人已经创建了一个他们愿意与社区共享的CEF3包装器,或者
有人知道如何实现这一点,并且可以(希望彻底)解释
我试图在我的monogame项目中渲染渲染浏览器,用于绘制一些界面和东西.我过去用旧版本的awesomium完成了这个,没有任何问题.但我无法弄清楚如何在这个新版本中正确地初始化awesomium,无论我如何尝试,我都会收到错误.据我所知,我需要调用WebCore.Run()一次,而不是WebCore.Update(),但我得到该方法的varius异常.
以下是我到目前为止所遵循的步骤:
\1.7.4.2\wrappers\Awesomium.NET\Assemblies\Packed\Awesomium.Core.dll
在我的项目以下是我的一些尝试:
WebCore.Initialize(new WebConfig());
WebCore.Run();
//Error: Starting an update loop on a thread with an existing message loop, is not supported.
Run Code Online (Sandbox Code Playgroud)
WebCore.Initialized += (sender, e) =>
{
WebCore.Run();
};
WebCore.Initialize(new WebConfig());
WebView WebView = WebCore.CreateWebView(500, 400);
//Error: Starting an update loop on a thread with an existing message loop, is not supported.
Run Code Online (Sandbox Code Playgroud)
WebCore.Initialize(new WebConfig());
WebView WebView = WebCore.CreateWebView(500, 400);
WebView.Source = new Uri("http://www.google.com");
WebView.DocumentReady += (sender, e) =>
{
JSObject js = WebView.CreateGlobalJavascriptObject("w");
}; …
Run Code Online (Sandbox Code Playgroud) Javascript检测像Chrome浏览器版本18.0.1003.1的awesomium浏览器我可以在我的机器或Chrome 22或更高版本上配置awesomium浏览器版本吗?我需要这个来支持javascript上的触摸事件.
好吧,我注意到一个奇怪的错误.这在调整大小时会发生.
当我试图修复我的xaml对齐时,我首先注意到了它.当我尝试在我的2个屏幕上调整窗口大小时,awesomium内容开始闪烁,突然内容消失,带有徽标的红屏出现,在vshost32.exe崩溃后缩短.
我认为好..好吧它可能有一些宽度限制所以我限制了主屏幕宽度上窗口的MaxWidth.我注意到一些flickerings藏汉而我试图水平调整大小,但仅此而已,但是当我垃圾邮件的大小调整和改变了许多倍的高度和宽度上maxheight 1080和最大宽度1920同样的问题发生.
Edit2附加信息:我在同一个XAML上有2个WebControl.当我添加多个,并调整大小......它崩溃了第一秒.
编辑(1)
[1123/013232:INFO:(0)] WebCore is now online.
[1123/013232:INFO:(0)] Running Awesomium 1.7.5.1
[1123/013247:WARNING:Awesomium.NET(0)] System.OutOfMemoryException: Insufficient memory to continue the execution of the program.
at System.Windows.Media.Imaging.WriteableBitmap..ctor(Int32 pixelWidth, Int32 pixelHeight, Double dpiX, Double dpiY, PixelFormat pixelFormat, BitmapPalette palette)
at Awesomium.Windows.Controls.WebViewPresenter.Awesomium.Core.ISurface.Initialize(IWebView view, Int32 width, Int32 height)
at Awesomium.Core.Surface.oQVs2ZKQlyYpFHm4aaM(Object , Object , Int32 width, Int32 height)
at Awesomium.Core.Surface.InitializeDirector(IWebView view, Int32 width, Int32 height)
at Awesomium.Core.Surface..ctor(IWebView view, Int32 width, Int32 height, ISurface surfaceImpl)
at Awesomium.Core.SurfaceFactory.Nu5RdsobJP(IntPtr , Int32 , Int32 )
at …
Run Code Online (Sandbox Code Playgroud) 如何使用C++在awesomium中获取网页的HTML ?
我搜索过,显然你只能在C#或Java中使用webcontrol .使用示例你好我试过:
JSValue theVal( view->ExecuteJavascriptWithResult(WSLit("document.getElementsByTagName('html')[0].innerHTML"),WSLit("")));
Run Code Online (Sandbox Code Playgroud)
但它不起作用.有任何想法吗?请在c ++中,因为我知道你可以用C#和Java做到这一点.