我有一个非常简单的 JavaScript 文件,名为 MyJava.htm,如下所示:
<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 并更正它(将变量 'a' 替换为 'n');保存文件;重新运行 WPF 应用程序。
我仍然得到 'a' is undefined 错误。
如果我重命名文件并相应地更改 URL,那么一切正常。
显然,即使我更改了文件的内容,旧脚本也在加载。
我该如何解决这个问题?如何告诉 WPF(或任何人)从 URL 加载新内容?