2016-07-19 9 views
0

次のクロムプラグインがインストールされています uBlock Originと私は角形アプリケーションでangular-google-analyticsを使用しています。 adblockerはangular-google-analytics.jsスクリプトをブロックしています。 インジェクターのモジュールエラーが発生しています。 Google Analyticsは、AdblockerがオンのときにAngularjsアプリケーションを中断しています

は、私は次のようにそれを書かれているその問題解決するには -

try { 
    // Check if the below module is available 
    angular.module('angular-google-analytics'); 
    angular.module('myApp').requires.push('angular-google-analytics'); 
    angular.module('myApp').config(function(AnalyticsProvider) { 
    AnalyticsProvider.setAccount('API', 'KEY'); 
    AnalyticsProvider.trackPages(!0), 
    AnalyticsProvider.setDomainName("www.test.com"), 
    AnalyticsProvider.useAnalytics(!0), 
    AnalyticsProvider.useECommerce(!0, !0) 
    AnalyticsProvider.setCurrency('INR'); 
}).run(function(Analytics) {}); 
    console.log("GA available"); 
} catch(e) { 
    // statements 
    console.error("GA not available"+ e); 
} 

をそして他のコントローラ/サービス

if ($injector.has('angular-google-analytics')) 
     var Analytics = $injector.get('angular-google-analytics'); 

に依存関係を使用し、この依存性は、多くのコントローラでもあります。

私の質問は、これが最善の方法ですか?または、適用可能な代替方法がありますか?

+0

この回答を確認してください。 http://stackoverflow.com/questions/32728753/gracefully-handling-angularjs-error-injectornomod-module-unavailable –

答えて

0

Googleアナリティクスのコードを共有できますか?

あなたはすでにインジェクタを試しましたが、それは問題ありませんが、AdbloquerはGAファイルを停止することがあります。その場合、インジェクタが適切に印刷されていれば、 。次に、「作成」を実行するか、新しい「ページビュー」を起動しようとすると、コードはオブジェクトを検出せず、Javascript全体を破砕します(JSを超える角度の作品)。

あなたは、インジェクタの上に

<script>  
     try { 
     <!-- Google Analytics --> 
     (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
     (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
     m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
     })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

     ga('create', 'UA-XXXXX-Y', 'auto'); 
     ga('send', 'pageview'); 
     <!-- End Google Analytics --> 
    } 
    catch(err) { 
     ga = function(){return false}; 
    } 
</script> 

をGAコードの上にトライキャッチで囲むように試みることができず、私はより多くのエラーを回避するために、あなたには、いくつかのイベントや仮想ページビューを得た場合にはGAオブジェクトを追加しましたそれがあなたに役立つかどうか教えてください

関連する問題