我正在尝试将 OneDrive 选择器与我们的 Web 应用程序集成,并在阅读 Nick's answer to this question on 10/02/2015 后选择了使用 iframe 和 postMessage 的路线。因此,在插入带有按钮的 iframe 来打开 OneDrive Picker 并选择文件后,弹出窗口仍然只有一个微调器图标,并且控制台中出现错误 r is null
。我知道,鉴于 this question拥有表单可能会导致此问题,我删除了 iframe 中加载的页面中的表单,但仍然看到 window.opener == null
的错误(请参见下面的屏幕截图)。其他人以前见过这个吗?我的理论是 URL 中的查询参数是导致问题的原因,但删除这些参数似乎并不能解决问题。
发生错误时调试 onedrive.js(选择文件后仍然弹出窗口):
谢谢!
最佳答案
所以原因是 iframe 正在“弹出窗口”中加载 - 一个具有绝对定位的 div,在单击链接时出现,然后在交互结束后消失。当包含的 div 被隐藏时,它会导致 iframe 重新加载 - 您应该尝试 here 中描述的技术。
关于javascript - 为什么 OneDrive js 选择器有时会出现 null opener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39280709/