【问题标题】:Silverlight window.external.notify() securityproblem?Silverlight window.external.notify() 安全问题?
【发布时间】:2010-10-14 17:58:32
【问题描述】:

在我的 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("Close");行。

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

我怎样才能让它工作?

【问题讨论】:

  • 你在哪里托管你的 xap 文件?
  • 我正在使用 IIS 7.5 来托管应用程序。我只是在本地测试。 (VS 2010,Silverlight 4)

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


【解决方案1】:

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

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

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

格子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多