使用EvaluateScriptAsync在CefSharp中调用javascript

时间:2015-11-04 08:15:04

标签: javascript html visual-studio-2013 cefsharp

目前在我的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;
  };

为什么我不能发送字母串?

发送号码和发送字母有区别吗?

1 个答案:

答案 0 :(得分:1)

您生成的字符串将作为JavaScript执行。正如代码执行时的第二个示例所示,它将查找名为ABCDE的变量。您需要封装在引号中以使其成为字符串。

string strMsg = "ABCDE";

应该是

string strMsg = "`ABCDE`";

string strMsg = "\"ABCDE\"";

对于调试,CefSharp支持DevTools,您可以打开它并查看JavaScript控制台输出。