$(document).on('ready', handler)
binds to the ready event from jQuery. The handler is called when the DOM is loaded. Assets like images maybe still are missing. It will never be called if the document is ready at the time of binding. jQuery uses the DOMContentLoaded-Event for that, emulating it if not available.
$(document).on('load', handler)
is an event that will be fired once all resources are loaded from the server. Images are loaded now. While onload is a raw HTML event, ready is built by jQuery.
$(document).ready(handler)
actually is a promise. The handler will be called immediately if document is ready at the time of calling. Otherwise it binds to the ready
-Event.
Before jQuery 1.8, $(document).load(handler)
existed as an alias to $(document).on('load',handler)
.