Chrome for me has always been a reference on web standards, unfortunately the defer isn't supported and IE supports it since version 5.5. Why ?
js.js
document.getElementById (hi).innerHTML = Hi :);
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset = utf-8>
<script defer=defer src=js.js></script>
<title>Hi</title>
</head>
<body>
<div id=hi></div>
</body>
</html>