defer JS load until page load