我有一个名为MyJava.htm的非常简单的JavaScript文件,如下所示:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
function ShowMe(message)
{
var n = message.length;
var s = a.toString();
alert("total length = " + s);
}
</script>
</head>
<body style='background-color:transparent'>
<P>Empty</P>
</body>
</html>
如您所见,代码中存在错误('a'未定义)。我将文件保存到本地计算机的Web服务器文件夹中,即c:\ inetpub \ wwwroot。
当我第一次使用WPF WebBrowser控件(this)运行它时,如下所示:
JavascriptInterface jint = new JavascriptInterface(mainWindow);
this.myBrowser.ObjectForScripting = jint;
this.myBrowser.Source = new Uri( @"http://127.0.0.1/myJava.htm");
this.myBrowser.InvokeScript("ShowMe", "Hello");
其中mainWindow是一个对话框。我会收到错误消息,说'a'未定义。
然后,我进入文件MyJava.htm并更正它(用'n'替换变量'a');保存文件;重申WPF应用程序。
我仍然得到'a'是未定义的错误。
如果我重命名文件并相应地更改URL,那么一切正常。
显然,即使我改变了文件的内容,旧脚本也被加载了。
我该如何解决这个问题?如何告诉WPF(或谁)从URL加载新内容?