Links of the week

Plunk – An easy way to test clicks on a mobile phone. http://bit.ly/SUrBw2

Separate Mobile Website Vs. Responsive Website | Smashing Mobile http://bit.ly/RDLNav

Creative Background Styles and Trends in Web Design http://bit.ly/Rqwtfh

Inject Energy Into Your Mobile Design with Light Effects http://bit.ly/NUrlkb

Beyond Wireframing: The Real-Life UX Design Process http://bit.ly/STYDiP

10 Responsive Navigation Solutions and Tutorials  http://bit.ly/N069rJ

Twitter Cards | Twitter Developers http://bit.ly/NX43Ku

Twitter cards make it possible for you to attach media experiences to Tweets that link to your content. Simply add a few lines of HTML to your webpages, and users who Tweet links to your content will have a “card” added to the Tweet that’s visible to all of their followers.

JavaScript Events And Responding To The User http://bit.ly/O76KYi

Standardista » CSS Specificity http://bit.ly/SUzfXk

Chirp.js — Tweets on your website, simply. http://bit.ly/MQvEeT

jQuery + google maps + Elevation – and styling of maps   jsfiddle.net/aDfGa/

Code’n’run PHP. Everywhere. Kodiak PHP: The only iPad app with offline PHP code execution. http://bit.ly/PYQ1WZ

HTML5 Boilerplate – v4.0.0 | drublic http://bit.ly/O3qGbP

In google analytic you can:
See: https://github.com/h5bp/html5-boilerplate/blob/v4.0.0/doc/extend.md

Track jQuery AJAX requests in Google Analytics

/*
* Log all jQuery AJAX requests to Google Analytics
* See: http://www.alfajango.com/blog/track-jquery-ajax-requests-in-google-analytics/
*/
if (typeof _gaq !== "undefined" && _gaq !== null) {
$(document).ajaxSend(function(event, xhr, settings){
_gaq.push(['_trackPageview', settings.url]);
});
}

Track JavaScript errors in Google Analytics

(function(window){
var undefined,
link = function (href) {
var a = window.document.createElement('a');
a.href = href;
return a;
};
window.onerror = function (message, file, row) {
var host = link(file).hostname;
_gaq.push([
'_trackEvent',
(host == window.location.hostname || host == undefined || host == '' ? '' : 'external ') + 'error',
message, file + ' LINE: ' + row, undefined, undefined, true
]);
};
}(window));

Track page scroll

$(function(){
var isDuplicateScrollEvent,
scrollTimeStart = new Date,
$window = $(window),
$document = $(document),
scrollPercent;</code>

$window.scroll(function() {
scrollPercent = Math.round(100 * ($window.height() + $window.scrollTop())/$document.height());
if (scrollPercent &gt; 90 &amp;&amp; !isDuplicateScrollEvent) { //page scrolled to 90%
isDuplicateScrollEvent = 1;
_gaq.push(['_trackEvent', 'scroll',
'Window: ' + $window.height() + 'px; Document: ' + $document.height() + 'px; Time: ' + Math.round((new Date - scrollTimeStart )/1000,1) + 's',
undefined, undefined, true
]);
}
});
});