Javascript Windows 8高速监视器iframe导航
我有一个Windows8Metro应用程序,它通过iframing远程服务的登录表单进行oauth登录。我需要监视iframe中的导航,因为最后一步将导航到一个url,其中包含我需要从url中读取的oauth代码 这个问题分为两个部分:Javascript Windows 8高速监视器iframe导航,javascript,html,windows-8,dom-events,microsoft-metro,Javascript,Html,Windows 8,Dom Events,Microsoft Metro,我有一个Windows8Metro应用程序,它通过iframing远程服务的登录表单进行oauth登录。我需要监视iframe中的导航,因为最后一步将导航到一个url,其中包含我需要从url中读取的oauth代码 这个问题分为两个部分: 如何监视iframe中的导航 如何获取iframe的当前位置。我正在尝试的一切(document.getElementById('theIframe')。{src | contentWindow.location.href})要么给出初始位置,要么返回拒绝访问
document.getElementById('theIframe')。{src | contentWindow.location.href}
)要么给出初始位置,要么返回拒绝访问错误
正如@JeffBrand MSFT所建议的,此示例可能会有所帮助。 一些可能有用的文档
要回答最初的问题,您可以查询iframe中的
.src
属性以监视url
。(例如,var currentLocatoin=$(“#iframeId”).src
)或者您可以在本机应用程序和iframe内的内容之间实现协议。Mircrosoft对iframe内容进行了沙盒处理,因此调用了$(“#iframeId”).contentWindow.location.href
将为您提供拒绝访问错误
是否有理由不使用WebAuthenticationBroker?@JeffBrand MSFT我想我可以这样做,但它与应用程序的外观和感觉不符。是否有任何方法可以禁用代理URL需要ssl的要求,仅用于测试目的。我现在在本地托管oauth服务器,我真的不想在我的开发设备上安装ssl证书的麻烦。@JeffBrand MSFT说WebAuthenticationBroker没有任何明显的文档记录。您是否希望添加一个带有示例项目链接的答案,我将接受它。我发现各种属性(src
,contentWindow.location.href
)实际上从未更新过,以至于家长可以看到它们,这是我在原始问题中的第二点。我在WebAuthenticationBroker上得到了这一点,在我的应用程序中,我有一个iframe,我使用postMessage
来查询位置。但我没有用它来认证。