Не могу разместить рекламу в моем приложении Angular Dart - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь разместить рекламу 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>

1 Ответ

0 голосов
/ 25 апреля 2018

Теги скрипта, добавленные в шаблоны компонентов, очищаются Angular из соображений безопасности.

Вам необходимо добавить тег скрипта в index.html.

Вы также можете добавить тег скрипта с помощью императиваКод Dart во время выполнения, например, в обратном вызове жизненного цикла компонента Angular, например, как я объясняю в теге script в angular2 template / hook, когда шаблон dom загружен для TypeScript (его легко перевести на Dart.последние версии Angular Dart больше не имеют nativeElement).

В аналогичной ситуации я добавил уникальный атрибут в тег script, а затем использовал querySelector, чтобы проверить, существует ли такой тег script, чтобы избежатьдобавляя его несколько раз.

Тег сценария также имеет событие load, которое уведомляет о загрузке сценария, поэтому ваш код может подождать этого перед вызовом функций, которые доступны только после загрузки сценария.

...