javascript - Silverlight window.external.notify() 安全问题?

标签 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("Close"); 时遇到 javascript 异常('Unspecified error.');行。

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

我怎样才能让它工作?

最佳答案

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

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

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

格茨

关于javascript - Silverlight window.external.notify() 安全问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3884087/

相关文章:

javascript - 在 Javascript 中计算数组元素的平均值?

javascript - 如何使用特定于 url 的 react native 打开应用程序

silverlight - 用于 silverlight 4 的 RichTextEditor

c# - Silverlight XAML 文件中文本的 TextBlock 换行

ios - APNS token 应该加密吗?

javascript - 如何使用 phonegap javascript 获取 IP 地址

javascript - 使用变量在 node.js 应用程序中执行正则表达式 Mongo 搜索

c# - 为什么 PasswordBox 在 Silverlight 中被密封?

security - CouchDB over HTTPS 和自认证证书 : browsers reject it

c# - 如何设置多语言 PrincipalPermission 角色名称?