在我们的网络应用程序/网站中,我需要使用 iframe 或弹出窗口来验证当前 token 是否有效,如果不是则刷新它。
因此,我创建了一个 iframe,并将属性“src”设置为验证链接,例如“https://
我为网络应用程序/网站添加了消息句柄,比如document.createElement('iframe');
在 messageHandler 中,我将检查消息是否来自指定网站,然后验证“code”值、blabla 等。window.addEventListener("message", this.messageHandler);
但是在 Chrome 中运行时,我总是遇到错误
“阻止对跨域子帧中的元素进行自动对焦。”
让我困惑的是:
任何帮助都感激不尽。
p.s.
我引用以下文档:
Blocked autofocusing on a form control in a cross-origin subframe
https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
最佳答案
Web 开发中对 iframe 的支持只会随着时间的推移变得更糟,因为它们是一个安全黑洞,随着时间的推移,浏览器会逐渐锁定功能和使用它们。
我假设您这样做是因为您正在验证第三方服务上的用户,通过观察第三方服务网站的响应来验证?
在不知道您正在使用的服务的情况下,我无法具体评论,但对于任何想要做类似事情的人 我强烈建议不要这样做 :
我建议:
抱歉给你的游行下雨了!
关于javascript - 阻止自动对焦在跨域子帧中的 <input> 元素上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63737458/