dart:如何在 iframe 中获取对文档对象的正确(类型化)引用
dart: how to get correct (typed) reference to document object in iframe
我有一个用例,其中复杂的 UI 层次结构需要在 iframe 中呈现,但处理它的逻辑(创建、输入文档、事件处理、退出文档)需要在主框架/应用程序。
我在获取对 iframe 文档实例的类型化引用时遇到了问题。这可能吗?即使类型转换,代码也会出错。
任何建议都会有所帮助,除了使用 js 互操作的建议 - 像提取 UI 分支并将其安装在 iframe 中这样简单的事情不需要这个恕我直言。
此外,如果这不可能,我应该去哪里填写错误?
出于安全考虑,交叉 window 访问非常有限。有未解决的问题再次允许它,因为无论如何它都可以被 dart-js-interop 规避。
因此,建议的解决方案是使用 dart:js
作为解决方法,直到问题得到解决。
var ifrm = new js.JsObject.fromBrowserObject(dom.querySelector('#ifrm'));
print(ifrm['contentWindow']);
print(ifrm['contentDocument']);
尝试使用window.postMessage()
在帧之间传输DOM更新。我猜这可能是一种可能性?
我有一个用例,其中复杂的 UI 层次结构需要在 iframe 中呈现,但处理它的逻辑(创建、输入文档、事件处理、退出文档)需要在主框架/应用程序。
我在获取对 iframe 文档实例的类型化引用时遇到了问题。这可能吗?即使类型转换,代码也会出错。
任何建议都会有所帮助,除了使用 js 互操作的建议 - 像提取 UI 分支并将其安装在 iframe 中这样简单的事情不需要这个恕我直言。
此外,如果这不可能,我应该去哪里填写错误?
出于安全考虑,交叉 window 访问非常有限。有未解决的问题再次允许它,因为无论如何它都可以被 dart-js-interop 规避。
因此,建议的解决方案是使用 dart:js
作为解决方法,直到问题得到解决。
var ifrm = new js.JsObject.fromBrowserObject(dom.querySelector('#ifrm'));
print(ifrm['contentWindow']);
print(ifrm['contentDocument']);
尝试使用window.postMessage()
在帧之间传输DOM更新。我猜这可能是一种可能性?