2

我正在使用 JavaScript 和 HTML 为我的公司构建一个 Windows 8 应用程序。我有一个加载公司网页的 iframe,但在尝试访问 iframe contentDocument 属性时得到“拒绝访问”。iframe 显示页面,但我无法访问它的属性(如历史记录)。应用程序和网页都在同一网络上的公司内部。我读到当 iframe 父页面与 iframe 中的页面位于不同的域时,会发生“拒绝访问”错误。

  1. 我如何让应用程序的 iframe 访问 contentDocument,因为它不在 Web 服务器上运行?
  2. 有没有办法将应用程序设置为与网页相同的域?
4

1 回答 1

2

您的本地应用程序将始终在不同的上下文(称为本地上下文)中运行。网络上的 HTML 内容将在网络上下文中。

有关允许/不允许的更多上下文信息,请参见此处: 按上下文划分的功能和限制

我不知道设置相同域的方法,但您可以尝试“为网页提供额外访问权限”下列出的技术。我个人没有在你的场景中尝试过。

如何链接到外部网页

上下文之间的通信通常通过 postMessage 函数进行,如下所述:开发安全应用程序

我会看看你想要的信息是否可以通过 postMessage 传达。

于 2013-05-09T00:14:40.867 回答