Javascript Windows 8应用程序iframe正在尝试访问intranet上的页面内容

Javascript Windows 8应用程序iframe正在尝试访问intranet上的页面内容,javascript,html,iframe,winjs,intranet,Javascript,Html,Iframe,Winjs,Intranet,我正在使用JavaScript和HTML为我的公司构建一个Windows8应用程序。我有一个iframe,它加载一个公司网页,但在尝试访问iframes contentDocument属性时会被“拒绝访问”。iframe显示页面,但我无法访问其属性(如历史记录)。应用程序和网页都位于同一网络上的公司内部。我了解到,当iframe父页面与iframe中的页面位于不同的域中时,会发生“拒绝访问”错误 由于contentDocument未在web服务器上运行,如何获取应用程序的iframe以访问它 有

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

  • 由于contentDocument未在web服务器上运行,如何获取应用程序的iframe以访问它
  • 有没有办法将应用程序设置为与网页相同的域

  • 本地应用程序将始终在不同的上下文(称为本地上下文)中运行。web上的HTML内容将位于web上下文中

    有关什么是/不允许的更多上下文信息,请参见此处:

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

    上下文之间的通信通常通过postMessage函数进行,如下所述:


    我想看看你想要的信息是否可以通过postMessage进行沟通。

    你想做什么,也许还有其他方法?信息可以通过postMessage跨国界交流吗?我目前有一个应用程序,可以分配公司任务。应用程序中有指向公司网站的链接,我们不想启动IE来查看这些链接。由于两个应用程序不能在两个不同的显示器上存在,IE将应用程序放在后台,这是我们不希望看到的。这就是我们使用iframe的原因。我们遇到的问题是,当您在iframe中导航时,应用程序中的“后退”按钮没有跟踪那些页面,并且已经导航到iframe中的站点的用户不能返回一个页面。我想跟踪这些页面并将它们添加到“应用程序后退”按钮或我创建的按钮。我无法控制公司的网站,因此我不知道如何让postMessage正常工作。难道网页上不需要编写代码来监听我的消息,以便它可以发回信息吗?用户可以通过应用程序导航到许多页面。一个选项(hack)虽然需要一些修改,但当页面导航到外部链接时,实际上是导航到包含iframe的页面。该页面将被发送URL以加载到iframe中。因此,导航实际上是指向conter主机页。如果您希望用户从外部页面浏览多个级别,并让后退按钮一直工作,此技术将不起作用-当按下后退按钮时,整个iframe主机页面将消失并返回到您的应用程序之前的内部页面。不幸的是,他们将进入多个级别。