WPF WebBrowser.InvokeScript()继续加载旧脚本

时间:2018-01-30 00:29:29

标签: javascript c# wpf invokescript

我有一个名为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加载新内容?

0 个答案:

没有答案