我正在尝试将Google AdSense广告投放到我的Angular Dart应用中。 但是,如果我将其粘贴到我的某个组件的html中,它就不会显示任何内容。
dashboard_component.html:
<head>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-7364276574790830",
enable_page_level_ads: true
});
</script>
</head>
答案 0 :(得分:3)
出于安全原因,Angular会清除添加到组件模板的脚本标记。
您需要将脚本标记添加到index.html
。
您还可以在运行时使用命令式Dart代码添加脚本标记,例如在Angular组件的生命周期回调中,例如我在script tag in angular2 template / hook when template dom is loaded中为TypeScript解释(应该很容易转换为Dart。) Angular Dart版本不再有nativeElement
。
在类似情况下,我为脚本标记添加了一个唯一属性,然后使用querySelector
检查是否已存在此类脚本标记以避免多次添加。
脚本标记还有一个load
事件,通知脚本何时加载,因此您的代码可以在调用仅在加载脚本后可用的函数之前等待它。