UNPKG

angular-google-adsense

Version:

Integrate your google adsense advertisements in your AngularJS applications easily.

1 lines 1.23 kB
!function(){"use strict";angular.module("angular-google-adsense",[]).service("Adsense",[function(){this.url="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js",this.isAlreadyLoaded=!1}]).directive("adsense",function(){return{restrict:"E",replace:!0,scope:{adClient:"@",adSlot:"@",adFormat:"@",adLayout:"@",adLayoutKey:"@",inlineStyle:"@",viewportMinWidth:"@",viewportMaxWidth:"@"},template:'<div data-ng-show="adFitInViewport" class="ads"><ins data-ng-class="{\'adsbygoogle\': adFitInViewport}" data-ad-client="{{adClient}}" data-ad-slot="{{adSlot}}" ng-attr-data-ad-format="{{adFormat || undefined}}" ng-attr-data-ad-layout="{{adLayout || undefined}}" ng-attr-data-ad-layout-key="{{adLayoutKey || undefined}}" style="{{inlineStyle}}" "></ins></div>',controller:["Adsense","$scope","$window","$timeout",function(t,a,e,d){if(a.adFitInViewport=!0,a.viewportMinWidth&&e.innerWidth<a.viewportMinWidth||a.viewportMaxWidth&&e.innerWidth>a.viewportMaxWidth)a.adFitInViewport=!1;else{if(!t.isAlreadyLoaded){var i=document.createElement("script");i.type="text/javascript",i.src=t.url,i.async=!0,document.body.appendChild(i),t.isAlreadyLoaded=!0}d(function(){(window.adsbygoogle=window.adsbygoogle||[]).push({})})}}]}})}();