0

我有一个 Windows 8 Metro 应用程序,它通过 iframe 远程服务的登录表单进行 oauth 登录。我需要监视 iframe 中的导航,因为最后一步将导航到包含我需要从 url 中读取的 oauth 代码的 url。

这个问题有两个部分:

  1. 如何监控 iframe 中的导航。

  2. 如何获取 iframe 的当前位置。我正在尝试document.getElementById('theIframe').{src|contentWindow.location.href}的一切 ( ) 要么给出初始位置,要么返回拒绝访问错误。

4

1 回答 1

0

正如@JeffBrand-MSFT 所建议的那样,此示例可能会有所帮助。 http://code.msdn.microsoft.com/windowsapps/Web-Authentication-d0485122

一些可能有用的文档 http://msdn.microsoft.com/en-us/library/windows/apps/windows.security.authentication.web.webauthenticationbroker

要回答您的原始问题,您可以查询.srciframe 中的属性以监控url. (例如var currentLocatoin = $('#iframeId').src)或者您可以postMessage在您的本机应用程序和 iframe 内的内容之间实现协议。Mircrosoft 对 iframe 内容进行沙盒处理,因此调用$('#iframeId').contentWindow.location.href将为您提供Access Denied Error

于 2012-12-19T07:38:13.847 回答