Silverlight window.external.notify()securityproblem?

时间:2010-10-07 17:12:59

标签: javascript silverlight security webbrowser-control out-of-browser

在我的silverlight应用程序中,我正在使用webBrowser控件。

我在导航到的页面上调用了以下javascript函数。

    function notify() {
        window.external.notify("Close");
    }

奇怪的事实是它只有在我使用以下方式导航到页面时才有效:

this.Browser.Source = new Uri("http://localhost/TestOutOfBrowser.Web/HTMLPage1.htm");

当我使用真实服务器名称导航到它时:

            this.Browser.Source = new Uri("http://testServerName/TestOutOfBrowser.Web/HTMLPage1.htm");

执行window.external.notify(“关闭”)时,我收到一个javascript异常('Unspecified error。');线。

这很可能与安全相关,但我不知道如何解决这个问题。

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:2)

对于遇到相同或类似问题的任何人:

这显然是跨域脚本安全问题。 如果silverlight应用程序的域和页面(您导航到的)不同,浏览器控件将不会执行此操作。 (!甚至127.0.0.1和localhost被评估为“不同的”域名)

我最终使用相对URI来浏览页面,这解决了我的问题。

Grtz