一步一步学Silverlight :如何在Silverlight中调用JavaScript
[1] 一步一步学Silverlight :如何在Silverlight中调用JavaScript
[2] 一步一步学Silverlight :如何在Silverlight中调用JavaScript
[3] 一步一步学Silverlight :如何在Silverlight中调用JavaScript
[4] 一步一步学Silverlight :如何在Silverlight中调用JavaScript
[2] 一步一步学Silverlight :如何在Silverlight中调用JavaScript
[3] 一步一步学Silverlight :如何在Silverlight中调用JavaScript
[4] 一步一步学Silverlight :如何在Silverlight中调用JavaScript
使用HtmlPage.Window.Eval()
最后还有一种机制,就是使用HtmlPage.Window.Eval()方法,只要我们给该方法传入一段字符串,它都会作为JavaScript来执行。做一个简单的测试,我们再修改一下上面的示例代码:
private void submit_Click(object sender, RoutedEventArgs e) { HtmlPage.Window.Eval(this.input.Text); }
运行后我们在文本框中输入一段脚本alert('TerryLee');,效果如下所示:
既然HtmlPage.Window.Eval()可以执行一段脚本,并且将执行的结果以对象形式返回,我们可以使用它来获取DOM元素。如下面这段代码:
private void submit_Click(object sender, RoutedEventArgs e) { HtmlElement result = HtmlPage.Window.Eval("document.getElementById('result')") as HtmlElement; string message = result.GetAttribute("innerHTML"); HtmlPage.Window.Alert(message); }
运行后效果如下,获取的result确实就是我们定义的div。