gpt4 book ai didi

c# - 使用 awesomium 从 c# 调用 Javascript

转载 作者:可可西里 更新时间:2023-11-01 09:13:51 30 4
gpt4 key购买 nike

我正在尝试使用 awesomium 创建一个基本应用程序,我正在测试 js <----> c# 通信,但这似乎效果不佳...我创建了一个本地 html 并打开它..所以到目前为止一切顺利..但是当我尝试调用 js 时没有任何反应,没有错误,没有错误,什么都没有,只是这不会调用 js..

我的基本 js 代码是:

 var base = {

newItem : function(item){
$("#botones").append('<div class="botonMenu">' + item + '</div>');
},

other : function(){
alert("hi!!");
}

}

如果我在 firebug 中测试它,显然我可以很好地调用我的函数并创建项目或警告框...

现在..我的 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();

文件加载正常,但 js 通信不工作非常感谢,我希望能帮助我...这个 awesomium 真的看起来很棒

最佳答案

问题是您试图在页面加载完成之前调用页面上的 Javascript。如果您等到加载完成后,您应该会看到它正确执行。

webView.LoadCompleted += ExecuteJavascript;

WebCore.BaseDirectory = @"C:\Documents and Settings\ME\dummytests\codes\views";
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();
}

关于c# - 使用 awesomium 从 c# 调用 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9762876/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com