目前在我的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;
};
为什么我不能发送字母串?
发送号码和发送字母有区别吗?
答案 0 :(得分:1)
您生成的字符串将作为JavaScript执行。正如代码执行时的第二个示例所示,它将查找名为ABCDE
的变量。您需要封装在引号中以使其成为字符串。
string strMsg = "ABCDE";
应该是
string strMsg = "`ABCDE`";
或
string strMsg = "\"ABCDE\"";
对于调试,CefSharp
支持DevTools
,您可以打开它并查看JavaScript控制台输出。