我正在尝试将 CefSharp WebView 添加到我的 WPF 应用程序中,以代替我们使用的原始 WebBrowsers。 WebBrowser 有一个 InvokeScript 函数(http://msdn.microsoft.com/en-us/library/cc452443(v=vs.110).aspx),它允许您调用 JavaScript 函数,并可选择将输入的 obj 数组传递给该 JS 函数。
有没有什么方法可以对 CefSharp WebView 做类似的事情,我可以将输入参数传递给 JavaScript 函数?例如,我可以这样做:
this.webBrowser.InvokeScript("scriptName", input0, input1, input2);
对于 WebBrowser,是否有任何等效功能或多个功能允许 CefSharp WebView 实现此功能?
最佳答案
我想出了如何做我想做的事...而且相对简单。
如果你想要 WebBrowser 的 InvokeScript 函数的功能
this.webBrowser.InvokeScript("functionName", input0, input1, input2);
使用 CefSharp WebView 然后你只需要做这样的事情:
webView.ExecuteScript(String.Format("functionName({0},{1},{2});", input0, input1, input2));
您必须确保正确转义任何字符串参数,因为您正在调用一个 javascript 函数,其中输入将填充您的值,因此将被视为字符串文字。
如果您真的不想更改您的代码,并且您正在用 WebView 替换 WebBrowser,那么您可以制作一个扩展方法,将“InvokeScript”添加到 WebView。
关于c# - 如何使用 cefsharp 将输入传递给 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25269534/