Два обработчика конфликтуют. Когда их два, тогда onload блокирует другой, если без onload, тогда onresize работает нормально. И в onload и в onresize одна функция стоит. Вот код:
<script type="text/javascript">
var w = document.documentElement.clientHeight;
var f = 290;
var c = Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight
);
var d1 = document.getElementById('head').offsetHeight;
var d2 = document.getElementById('nav').offsetHeight;
var d3 = document.getElementById('foot').offsetHeight;
var g = c - d1 - d2 - d3 ;
function j() {
if (w > f) {
document.getElementById("con").style.height = g + 'px' ;
}
};
window.onload = j;
window.onresize = j;
</script>