我需要从有角度的应用程序内部获取隐藏div中的字符串值。这是我所拥有的:
<iframe id="sample">
<html>
<head></head>
<body>
<div id="testString" display="none;">string </div>
<app></app>
</body>
</html>
</iframe>
如何在非根组件的Angular应用中访问div testString
的值?
尝试了这些并得到null:
window.parent.document.getElementById('testString').textContent
document.getElementById('testString').textContent
可以用ElementRef完成吗? 另外,如何保护该字符串免受注入和xss攻击?
谢谢
答案 0 :(得分:0)
Angular只是Javascript(嗯,打字稿也就是带有类型的Javascript)。因此,您可以在Angular中执行与在原始Javascript中完全相同的操作,只需将其放在组件中的ngOnInit
方法下,以便加载document
。如果您使用过jQuery,那么基本上就是$(document).ready()
的等效项。
为了记录,我并不是说不会有更多的“角度”方式来完成您要问的事情。 ElementRef
也可以使用,因为它基本上只是document.getElement*
的包装。我的观点是,您不必仅使用Angular就可以编写任何特殊内容。