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