当前在我的Visual Studio项目中使用CefSharp来显示Web浏览器。我正在使用EvaluateScriptAsync在我的JavaScript中调用一个函数。
但是我遇到一个小问题。
以下可以工作:
string strMsg = "12345";
var script = string.Format("testing({0});", strMsg);
browser.EvaluateScriptAsync(script);
以下内容不起作用:
string strMsg = "ABCDE";
var script = string.Format("testing({0});", strMsg);
browser.EvaluateScriptAsync(script);
然后在html端:
testing = function (error) {
alert(error);
return false;
};
为什么我不能发送字母字符串?
发送数字和发送字母之间有区别吗?
最佳答案
您生成的字符串将作为JavaScript执行。正如您在第二个示例中所说的那样,当代码执行时,它将寻找一个名为ABCDE
的变量。您需要用引号将其封装为字符串。
string strMsg = "ABCDE";
应该
string strMsg = "`ABCDE`";
要么
string strMsg = "\"ABCDE\"";
对于调试,
CefSharp
支持DevTools
,您可以打开它并查看JavaScript控制台输出。