gpt4 book ai didi

c# - WebView2如何运行Javascript函数?

转载 作者:行者123 更新时间:2023-12-02 18:57:21 26 4
gpt4 key购买 nike

在我的 WebView2 中,我用 js 文件加载我的本地 html,一切正常,但我如何在 WebView 中从我的 WinForm 运行脚本?

直到现在我在 VB 中使用 webBrowser,我是这样做的:

WebBrowser1.Document.InvokeScript("addProducts", New String() {"{ ""desc"": ""test"", ""qta"": 1, ""prezzo"": 2}"})

现在我正在尝试类似的东西:

private async void prodotto_Click(object sender, EventArgs e)
{
await webView21.ExecuteScriptAsync("addProducts(\"{ \"desc\": \"test\", \"qta\": 1, \"prezzo\": 2})\"");
}

我什至试过了:

private void prodotto_Click(object sender, EventArgs e)
{
AddProduct();
}

async void AddProduct()
{
await webView21.CoreWebView2.ExecuteScriptAsync("addProducts(\"{ \"desc\": \"test\", \"qta\": 1, \"prezzo\": 2})\"");
}

但是脚本还没到...

最佳答案

你的字符串有拼写错误,试试:

"addProducts({\"desc\":\"test\",\"qta\":1,\"prezzo\":2})"

数据需要编码为JSON才能嵌入为字符串,最好使用SerializeObject将对象转换为 JSON,例如:

  dynamic obj = new System.Dynamic.ExpandoObject();
obj.desc = "test";
obj.qta = 1;
obj.prezzo = 2;

string data = JsonConvert.SerializeObject(obj);

webView21.ExecuteScriptAsync($"addProducts({data})");

关于c# - WebView2如何运行Javascript函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66024296/

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