在我的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。');线。
这很可能与安全相关,但我不知道如何解决这个问题。
我怎样才能让它发挥作用?
答案 0 :(得分:2)
对于遇到相同或类似问题的任何人:
这显然是跨域脚本安全问题。 如果silverlight应用程序的域和页面(您导航到的)不同,浏览器控件将不会执行此操作。 (!甚至127.0.0.1和localhost被评估为“不同的”域名)
我最终使用相对URI来浏览页面,这解决了我的问题。
Grtz