我在使用谷歌分析时遇到问题,我正在使用这个 Angular 插件angular-google-analytics 。 我看到这个错误:
拒绝加载脚本“http://www.google-analytics.com/analytics.js”,因为它违反了以下内容安全策略指令:“default-src 'self' data: gap: https ://ssl.gstatic.com '不安全评估'”。请注意,“script-src”未显式设置,因此“default-src”用作后备
我注意到,当我从标题中删除此phonegap元标记时,我没有收到此错误
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
我不知道这个元标记的用途或重要性。 ?
无论如何,错误消失后,我在实时 View 中看不到任何内容
gameApp.controller('MainController', function($scope, $location, Analytics) {
$scope.$on('$routeChangeStart', function(next, current) {
Analytics.trackPage($location.path());
});
});
你能帮我解决这个问题吗? 谢谢你
最佳答案
此标记对于防止 XSS 或恶意“外部”脚本非常重要。
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
您是否尝试过将以下内容插入到上述内容属性中:
script-src 'self' https://www.google-analytics.com/analytics.js 'unsafe-inline' 'unsafe-eval';
通过专门将其列入白名单,您应该能够加载它。
在我的 Angular 应用程序中,我使用以下代码:
$rootScope.$on('$stateChangeSuccess', function(){
$window.ga('send', 'pageview', $location.$$path);
});
<小时/>
阅读
关于javascript - Angular-Google-Analytics 存在 PhoneGap 问题, "Refused to load the script",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32275701/