javascript - Angular-Google-Analytics 存在 PhoneGap 问题, "Refused to load the script"

标签 javascript angularjs cordova google-analytics meta-tags

我在使用谷歌分析时遇到问题,我正在使用这个 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);
});
<小时/>

阅读

https://content-security-policy.com

https://www.w3.org/TR/2012/CR-CSP-20121115/#introduction

关于javascript - Angular-Google-Analytics 存在 PhoneGap 问题, "Refused to load the script",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32275701/

相关文章:

javascript - 使用 x-editable 使不同的元素在单击时可编辑

javascript - 如何重置 angularjs 中的禁用值

javascript - onsen-ui 实​​现不同页面不同的滑动菜单

javascript - 启用/禁用带有虚拟文本区域的 Android 虚拟键盘

javascript - 如何在每次点击按钮时发出蜂鸣声

javascript - 取消 Angular 形式时撤消对模型状态的更改

javascript - 名称为 '..' 的 Controller 未注册

AngularJS-内部指令-当我将template属性替换为templateUrl属性时,postLink函数调用的顺序发生更改

android - Cordova - ANDROID_HOME 未设置且 "android"命令不在您的 PATH 中。您必须至少满足以下条件之一

css - 如何响应地使用 css 在 cordova(HTML 移动)应用程序中定位元素