J'ai ce script simple qui attrape tous les clics de souris, sauf si vous cliquez sur quelque chose qui fonctionne réellement. Liens, vidéos flash, etc. Comment puis-je ajuster ceci de manière à ce que l'utilisateur clique dessus, avant que la vidéo ne se charge, les nouvelles charges de page, etc. Il envoie la simple requête GET que j'ai créée?Catch/Intercept tous les clics de souris
(function($) {
$.fn.saveClicks = function() {
$(this).bind('mousedown.clickmap', function(evt) {
var clickDocument = (document.documentElement != undefined && document.documentElement.clientHeight != 0) ? document.documentElement : document.body;
var width = clickHeatDocument.clientWidth != undefined ? clickDocument.clientWidth : window.innerWidth;
var height = clickHeatDocument.clientHeight != undefined ? clickDocument.clientHeight : window.innerHeight;
var scrollx = window.pageXOffset == undefined ? clickDocument.scrollLeft : window.pageXOffset;
var scrolly = window.pageYOffset == undefined ? clickDocument.scrollTop : window.pageYOffset;
var x = evt.clientX + scrollx;
var y = evt.clientY + scrolly;
$.get('/click-save.php', {
"x":x,
"y":y,
"click":"true",
"w":width,
"h":height,
"l":escape(document.location.pathname),
"d":escape(document.domain)
});
});
};
})(jQuery);
$(function() {
$(document).saveClicks();
});
J'utilisais simplement get() car je n'ai pas besoin de réponse du serveur. J'ai essayé votre exemple, et cela semble avoir bien fonctionné! – Nathan
@Hallik, normalement 'get' est utilisé pour ** obtenir ** une réponse du serveur .. utilisez' post' si vous voulez faire une action qui modifie quelque chose .. voir [Quand utilisez-vous POST et quand GET] (http://stackoverflow.com/questions/46585/when-do-you-use-post-and-when-do-you-use-get) –
mais ne fait PAS faire deux appels, et GET ne fait qu'un ? J'essayais juste de faire aussi peu d'appels que possible, et je pensais que GET serait plus léger. – Nathan