跳到主要內容

Ajax pageview of Google Analytics

first, to be sure the google analytics api is new version, such as
var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-xxxxxx-x']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
the way 1. use ajaxSetup for all calls to $.ajax.
notice 1: ajaxSetup is better writeen within $( document ).ready() to be sure the google analytics api is loaded.
notice 2: the opts.url is the ajax url you write, to record corect pageview, the best way is use fullpath, such as '/folder_name/filename.php'
$(function () {
$.ajaxSetup({
    beforeSend: function (xhr, opts) {
      //avoid cache of the iOS6 Safari
      if (opts.url.indexOf('?') > 0) {
        opts.url += '&_t=' + (new Date()).getTime();
      } else {
        opts.url += '?_t=' + (new Date()).getTime();
      }
      //google analytics
      if (opts.data != undefined) {
        if (typeof (_gaq) != 'undefined') {
          _gaq.push(['_trackPageview', opts.url + '&' + opts.data]);
        }
      } else {
        if (typeof (_gaq) != 'undefined') {
          _gaq.push(['_trackPageview', opts.url]);
        }
      }
    }
  });
});
the way 2. setting in every ajax function
notice 1: to be sure the google analytics api is loaded
notice2: the beforeSend function will overwrite the beforeSend function of ajaxSetup
function JobIndexData(p) {
  var url = location.href;
  var qs = url.substr(url.indexOf('?'));
  url='job-index-data.asp' + qs + '&page=' + p;
  $.ajax({
    url: url,
    type: "POST",
    success: function (data) {
      $('#recordMore_' + p).parent().append(data);
      $('#recordMore_' + p).remove();
    },
    beforeSend: function () {
      if (typeof (_gaq) != 'undefined') {
        _gaq.push(['_trackPageview', '/mobileweb/' + url]);
      }
      if (p > 1) {
        $('#recordMore_' + p).html('loading...');
      }
    }
  });
}

留言

這個網誌中的熱門文章

How to install iCloud on Windows Server

現象: iCloud 無法運行或發生錯誤 原因: 新版的 iCloud 只能在 Windows 7 或 8 運行 修改步驟: 1. 安裝  7-zip ,如果你還沒有安裝 2. 安裝 Orca , 這是 Microsoft 提供的 MSI 編輯器 3. 下載   iCloud control panel installer ,如果你還沒有下載 4. 用 7-zip 解壓縮  iCloudSetup.exe 5. 開啟 Orca,開啟 iCloud64.msi,假設你系統是64bit 6. 找到 LaunchCondition table 7. 將 LaunchCondition table 刪除 8. 存檔,關閉 Orca 9. iCloud64.msi 按右鍵,點安裝

jQuery: Radio Button, Checkbox and Selecter

Trigger the event: $("input[name='lom']").change(function(){ // Do something interesting here }); Radio Button: To get the selected value: var v=$('input[name=Sex]:checked').val(); if( typeof(v) == 'undefined'){ //there's no button selected } To select radio button from value: $("input[name=Sex][value='2']").attr('checked',true); To select radio button from index: $('input[name=Sex]')[1].checked = true; Checkbox: To see whether checkbox is checked: $('#chk').is(':checked'); To set checkbox: $("#chk1").attr("checked",''); $("#chk2").attr("checked",true); Selecter: To get the selected value: $('#selectList').val(); $('#selectList :selected').text(); To add a new option: $('#selectList').addOption(value,text);