在我的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");我得到了一个javascript异常('Unspecified error。‘)当执行window.external.notify("Close");行时。
这很可能与安全有关,但我不知道如何解决这个问题。
我怎么才能让它工作呢?
发布于 2010-10-14 17:58:32
对于任何面临相同或类似问题的人:
显然,这是一个跨域脚本安全问题。如果silverlight应用程序的域和您要导航到的页面不同,浏览器控件将不会执行此操作。(!甚至127.0.0.1和localhost也被评估为“不同”的域)
我最终使用相对URI来浏览页面,这解决了我的问题。
Grtz
https://stackoverflow.com/questions/3884087
复制相似问题