Add opt-out for analytics and make it ping once per day
This commit is contained in:
parent
4c80d9255f
commit
5fb21f2816
|
@ -7,6 +7,10 @@
|
|||
"message": "Add Style",
|
||||
"description": "Title of the page for adding styles"
|
||||
},
|
||||
"analyticsEnabled": {
|
||||
"message": "Send anonymous data to Stylish developers for determining user counts",
|
||||
"description": "Label for the enable analytics setting"
|
||||
},
|
||||
"appliesAdd": {
|
||||
"message": "Add",
|
||||
"description": "Label for the button to add an 'applies' entry"
|
||||
|
|
29
analytics.js
29
analytics.js
|
@ -2,8 +2,27 @@ var _gaq = _gaq || [];
|
|||
_gaq.push(['_setAccount', 'UA-8246384-4']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = 'https://ssl.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
function isAnalyticsEnabled() {
|
||||
try {
|
||||
return chrome.extension.getBackgroundPage().prefs.get("analyticsEnabled");
|
||||
} catch (ex) {
|
||||
console.log(ex);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Prefs seems not available immediately
|
||||
setTimeout(function() {
|
||||
if (isAnalyticsEnabled()) {
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = 'https://ssl.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
setInterval(function() {
|
||||
if (isAnalyticsEnabled()) {
|
||||
_gaq.push(['_trackPageview']);
|
||||
}
|
||||
}, 1000 * 60 * 60 * 24);
|
||||
}
|
||||
}, 1000);
|
||||
|
|
|
@ -183,8 +183,9 @@
|
|||
<p><a href="edit.html"><button id="add-style-label" i18n-text="addStyleLabel"></button></a></p>
|
||||
<div id="options">
|
||||
<h2 id="options-heading" i18n-text="optionsHeading"></h2>
|
||||
<input id="show-badge" type="checkbox"><label id="show-badge-label" for="show-badge" i18n-text="prefShowBadge"></label>
|
||||
<div><input id="show-badge" type="checkbox"><label id="show-badge-label" for="show-badge" i18n-text="prefShowBadge"></label></div>
|
||||
<div><input id="popup.stylesFirst" type="checkbox"><label id="stylesFirst-label" for="popup.stylesFirst" i18n-text="popupStylesFirst"></label></div>
|
||||
<div><input id="analyticsEnabled" type="checkbox"><label id="analyticsEnabled-label" for="analyticsEnabled" i18n-text="analyticsEnabled"></label></div>
|
||||
</div>
|
||||
<p id="manage-text" i18n-html="manageText"></p>
|
||||
</div>
|
||||
|
|
|
@ -477,7 +477,8 @@ document.addEventListener("DOMContentLoaded", function() {
|
|||
"manage.onlyEnabled",
|
||||
"manage.onlyEdited",
|
||||
"show-badge",
|
||||
"popup.stylesFirst"
|
||||
"popup.stylesFirst",
|
||||
"analyticsEnabled"
|
||||
]);
|
||||
initFilter("enabled-only", document.getElementById("manage.onlyEnabled"));
|
||||
initFilter("edited-only", document.getElementById("manage.onlyEdited"));
|
||||
|
|
|
@ -317,6 +317,7 @@ var prefs = chrome.extension.getBackgroundPage().prefs || new function Prefs() {
|
|||
"windowPosition": {}, // detached window position
|
||||
"show-badge": true, // display text on popup menu icon
|
||||
"disableAll": false, // boss key
|
||||
"analyticsEnabled": true, // hit up GA on startup
|
||||
|
||||
"popup.breadcrumbs": true, // display "New style" links as URL breadcrumbs
|
||||
"popup.breadcrumbs.usePath": false, // use URL path for "this URL"
|
||||
|
|
Loading…
Reference in New Issue
Block a user