Метод бубна помог и при вызове напрямую через id все работает. Но в чем разница между вызовом через id и переменную? Вот код, первый алерт через переменную, второй через id.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
window.onload = function(){
//через переменную
user_frame = document.getElementById("user_frame");
alert(user_frame.contentWindow); // не понимает
//через id
alert(document.getElementById('user_frame').contentWindow.document.links.length); // понимает и даже показывает ссылки
}
</script>
</head>
<body>
<iframe id="user_frame" width="100%" height="100%" src="user_frame.html"></iframe>
</body>
</html>