以前有關於在jQuery Mobile中使用Google Analytics的問題,提供了成功的答案here。但是,這是針對1.9之前版本的jQuery。Google Analytics和jQuery Mobile&jQuery 1.9
請有人幫助改變代碼,以便將折舊的.live事件替換爲當前的.on事件。我嘗試過但沒有成功。
下面是JavaScript代碼:
var _gaq = _gaq || [];
$(document).ready(function(e) {
(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);
})();
});
$('[data-role=page]').live('pageshow', function (event, ui) {
try {
_gaq.push(['_setAccount', 'YOUR_ANALYTICS_ID_GOES_HERE']);
if ($.mobile.activePage.attr("data-url")) {
_gaq.push(['_trackPageview', $.mobile.activePage.attr("data-url")]);
} else {
_gaq.push(['_trackPageview']);
}
} catch(err) {}
});
只要改變生活對,最終的結果是一樣的。或者你仍然可以使用舊的方法綁定,不像現場它仍然有效。 – Gajotres
@Gajotres'on'不是直接替代'live'的。對於委託事件,調用語法不同。 – Walf
我從來沒有說過是直接替換,從我的經驗和官方文檔目前用於頁面事件綁定。更不用說這是一個官方的jQuery live方法聲明:從jQuery 1.7開始,.live()方法已被棄用。使用.on()附加事件處理程序。老版本的jQuery用戶應優先使用.delegate(),而不要使用.live()。 – Gajotres