Il ya eu une question précédente sur l'utilisation de Google Analytics avec jquery Mobile avec une réponse positive fournie here. Cependant, c'était pour les versions de jQuery antérieures à 1.9.Google Analytics & jQuery Mobile & jQuery 1.9
S'il vous plaît, quelqu'un peut-il aider à modifier le code afin que l'événement .live déprécié soit remplacé par l'événement .on actuel? J'ai essayé mais sans succès.
Voici le code 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) {}
});
changer juste en temps réel avec le, le résultat final est le même. Ou vous pouvez toujours utiliser l'ancienne méthode bind, contrairement à live cela fonctionne toujours. – Gajotres
@Gajotres 'on' n'est pas un remplacement direct de' live'. La syntaxe d'appel est différente pour les événements délégués. – Walf
Je n'ai jamais dit que c'était un remplacement direct, d'après mon expérience et la documentation officielle sur est actuellement utilisée pour la liaison d'événements de page. Sans oublier qu'il s'agit d'une instruction de méthode live jQuery officielle: À partir de jQuery 1.7, la méthode .live() est obsolète. Utilisez .on() pour attacher des gestionnaires d'événements. Les utilisateurs d'anciennes versions de jQuery devraient utiliser .delegate() de préférence à .live(). – Gajotres