2014-02-10 107 views
2

我开始惹恼CefSharp,但不确定我看到的行为是否可以避免。我试图执行快速的JavaScript语句来模拟动画,以查看刷新率对于项目使用是否足够好。我有一个方格的网格,我希望我会看到颜色变化很快,但所有的变化发生在循环结束后,只有一次刷新而不是很多次。CefSharp从C#执行JavaScript#

public void start() 
    { 
     Random random = new Random(); 

     int x = 0; 
     while (x < 5000) 
     { 
      string num = random.Next(16).ToString(); 
      var script = String.Format("document.getElementById({0}).style.backgroundColor = colors[Math.floor(Math.random() * (2 - 0 + 1)) + 0];", num); 
      ExecuteJavaScript(script); 
      //MessageBox.Show(""); 
      x++; 
     } 
    } 

    private void ExecuteJavaScript(string script) 
    { 
     this.webView.ExecuteScript(script); 
    } 

ExecuteScript发生了什么,它正在等待操作在刷新之前完成?

在此先感谢您的帮助!

回答

3

我已经设法通过创建全局JavaScript函数并从ExecuteScript()和全局JavaScript函数中调用函数,调用start()获得期望的结果,以获得一个恒定的循环。