2

在我的silverlight应用程序中我正在使用webBrowser控件。Silverlight window.external.notify()安全性问题?

我在导航到的页面上调用以下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(“Close”)时收到一个javascript异常('Unspecified error。');线。

这是最有可能的安全相关的,但我没有线索如何解决这个问题..

我怎样才能得到这个工作?

+0

你在哪里托管你的xap文件? – Denis 2010-10-07 19:20:45

+0

我正在使用IIS 7.5来托管应用程序。我只是在本地进行测试。 (VS 2010,Silverlight 4) – Stephane 2010-10-08 07:20:50

回答

2

对于任何面临相同或相似的问题:

Appearantly这是一个跨域脚本安全问题。 如果Silverlight应用程序的域和页面(您正在导航到)不同,浏览器控件将不会执行此操作。 (!甚至127.0.0.1和localhost被评估为'不同'域)

我结束了使用相对URI浏览到页面,这解决了我的问题。

Grtz