0

我有一个非常简单的 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 加载新内容?

4

0 回答 0