Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
dart:如何在iframe中获得对文档对象的正确(键入的)引用_Dart_Dart Html - Fatal编程技术网

dart:如何在iframe中获得对文档对象的正确(键入的)引用

dart:如何在iframe中获得对文档对象的正确(键入的)引用,dart,dart-html,Dart,Dart Html,我有一个用例,复杂的UI层次结构需要在iframe中呈现,但处理它的逻辑(创建、输入文档、事件处理、退出文档)需要在主框架/应用程序中 我在获取对iframe的文档实例的类型化引用时面临问题。这可能吗?即使使用类型转换,代码也会出错 任何建议都会很有帮助,除了使用js互操作的建议——像提取UI分支并将其安装到iframe中这样简单的建议不需要这个IMHO 此外,如果这是不可能的,我应该去哪里填充错误?由于安全问题,跨窗口访问非常有限。由于dart js interop无论如何都可以绕过它,所以再

我有一个用例,复杂的UI层次结构需要在iframe中呈现,但处理它的逻辑(创建、输入文档、事件处理、退出文档)需要在主框架/应用程序中

我在获取对iframe的文档实例的类型化引用时面临问题。这可能吗?即使使用类型转换,代码也会出错

任何建议都会很有帮助,除了使用js互操作的建议——像提取UI分支并将其安装到iframe中这样简单的建议不需要这个IMHO


此外,如果这是不可能的,我应该去哪里填充错误?

由于安全问题,跨窗口访问非常有限。由于dart js interop无论如何都可以绕过它,所以再次允许它存在开放性问题

因此,建议的解决方案是使用
dart:js
作为变通方法,直到问题得到解决

var-ifrm=new js.JsObject.fromBrowserObject(dom.querySelector(“#ifrm”);
打印(ifrm['contentWindow']);
打印(ifrm['contentDocument']);

尝试使用
window.postMessage()
在帧之间传输DOM更新。我想可能是这样吧?

有几个相关的bug。您没有提供任何代码来显示您实际尝试的内容,也没有提供任何错误消息,因此很难确定具体应用的内容。主要原因是Dart团队试图确保跨窗口访问的安全性,而现在它处于无法使用的状态。请参阅、、(已关闭,仅供参考)和其他几个(搜索_DOMWindowCrossFrame),我只是尝试获取对iframe中html.Document的引用,并希望像html.Document那样使用它。我目前正在使用dart:js进行尝试,但它仍然不起作用(js.context['window']['frameid']也不允许…我怎么做?关于
js.context('window'].[frames'][0])
?我不明白,它看起来根本不是一个有效的dart表达式,而且dart似乎发现内容[frames][index]的结果是一个IframeElement,不允许使用[]进行访问:类“IframeElement”没有实例方法“[]’。谢谢,那么我如何使用这个“HTMLDocument”作为dart html.Document?目前它仍然认为它是一个JsObject?我不认为你可以从这个JsObject获得类型化的/dart对象。据我所知,你所能做的就是使用dart-js-interop与它交互。这是一个选项,但开销要大得多,不适合与RAF同步。