我需要從分析報告中過濾內部質量檢查人員。有條件地加載谷歌分析
目前,我們在我們的網站代碼,顯示/隱藏信息的div如果遊客是「學生」的角色:
$(document).ready(function(){
if($.inArray('student',ENV['current_user_roles']) === 1 && $.inArray('student',ENV['current_user_roles']) === 1){
if ($.inArray('teacher',ENV['current_user_roles']) == -1){
paramArray = window.location.href.split('/');
if (paramArray.indexOf('assignments') == -1 && paramArray.indexOf('settings') == -1 && paramArray.indexOf('grades') == -1 && paramArray.indexOf('quizzes') == -1 && paramArray.indexOf('users') == -1){
var l = $('#right-side-wrapper a.edit_link.button.button-sidebar-wide');
if(l===null || l.length===0){
$('body').removeClass('with-right-side');
}
}
}
}
});
我不是很精通JavaScript的,但它好像有應該是一個簡單的方式重新使用此代碼,但包裹谷歌分析裏面的跟蹤代碼,只加載它,如果用戶是角色的「學生:」
$(document).ready(function(){
if($.inArray('student',ENV['current_user_roles']) === 1 && $.inArray('student',ENV['current_user_roles']) === 1){
if ($.inArray('teacher',ENV['current_user_roles']) == -1){
var _gaq=[["_setAccount","UA-xxxxxxxx-1"],["_trackPageview"]];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=1;
g.src=("https:"==location.protocol?"//ssl":"//www")+".google-analytics.com/ga.js";
s.parentNode.insertBefore(g,s)}(document,"script"));
}
}
});
我嘗試了上面的基礎上,我在互聯網上看到的[https://gist.github.com/benbalter/902140],但是這個實現並沒有有意識地濾除非學生。
有什麼建議嗎?