1

我需要从 Angular 应用程序内部获取隐藏 div 中的字符串值。这是我所拥有的:

<iframe id="sample">
    <html>
        <head></head>
        <body>
            <div id="testString" display="none;">string </div>
            <app></app>
        </body>
    </html>
</iframe>

如何testString在非根组件的 Angular 应用程序中访问 div 的值?尝试使用这些并获得空值:

window.parent.document.getElementById('testString').textContent
document.getElementById('testString').textContent

可以用 ElementRef 完成吗?另外,如何保护此字符串免受注入和 xss 攻击?

谢谢

4

1 回答 1

0

Angular 只是 Javascript(好吧,打字稿也只是带有类型的 Javascript)。因此,您可以在 Angular 中执行与在原始 Javascript 中完全相同的操作,只需将其放在ngOnInit组件中的一个方法下,以便document已加载。如果您使用过 jQuery,这基本上是$(document).ready().

作为记录,我并不是说不会有更“Angular”的方式来完成您的要求。ElementRef也可以,因为它基本上只是document.getElement*. 我的观点是,你不需要仅仅因为你使用 Angular 就写任何特​​别的东西。

于 2018-08-22T21:08:23.907 回答