使用awesomium从c#调用Javascript
我正在尝试使用awesomium来创建一个基本的应用程序,我正在测试js c#通信,但这似乎不能正常工作……我创建了一个本地html并打开它..这么好..但是当我尝试调用js没有任何事情发生,没有错误,没有错误,没有,只是这不会调用js ..
我的基本js代码是:
var base = { newItem : function(item){ $("#botones").append('' + item + ''); }, other : function(){ alert("hi!!"); } }
如果我在firebug中测试这个,显然我可以很好地调用我的function并创建项目或警告框…
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 SettingsMEdummytestscodesviews"; webView.LoadFile("base.html"); JSValue param1 = new JSValue("nameItem"); webView.CallJavascriptFunction("base", "other"); webView.CallJavascriptFunction("base","newItem", param1); webView.Focus();
这个文件负载很好,但是js通信不起作用,非常感谢,我希望可以帮助我…这个awesomium真的很棒
问题是你在加载完成之前试图在页面上调用Javascript。 如果等到加载完成后,您应该看到它正确执行。
webView.LoadCompleted += ExecuteJavascript; WebCore.BaseDirectory = @"C:Documents and SettingsMEdummytestscodesviews"; webView.LoadFile("base.html");
…
private void ExecuteJavascript(object sender, EventArgs eventArgs) { JSValue param1 = new JSValue("nameItem"); webView.CallJavascriptFunction("base", "other"); webView.CallJavascriptFunction("base", "newItem", param1); webView.Focus(); }
这是Awesomium v1.7.0.5的解决方案。 它使用“JSObject”来获取javascript“window”对象。 从那里它调用一个javascript函数,它使用jQuery动态设置“div”的文本。 这也使用jQuery在文档准备好时调用该函数。
可以使用JSObject.Bind方法从javascript调用C#方法。
头:
身体:
Test...
C#:
这在Button Click事件处理程序中使用名称为“webView”的WPF WebControl。
上述就是C#学习教程:使用awesomium从c#调用Javascript分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
using Awesomium.Core; ... private void Button1_Click(object sender, RoutedEventArgs e) { JSObject window = webView.ExecuteJavascriptWithResult("window"); if (window == null) return; using (window) { window.InvokeAsync("setDivText", "You pressed button 1."); } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/954033.html