getElementById в Firefox iframe возвращает ноль, но работает в Safari / Chrome - PullRequest
2 голосов
/ 02 марта 2010

У меня есть два html-файла. Один включает другой в iframe. Iframe выполняет getElementById для ранее созданного элемента. Это прекрасно работает в Chrome / Safari, но не в Firefox / IE8, и я не понимаю, почему.

Firefox возвращает: ноль

Safari возвращает: [объект HTMLDivElement]

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>untitled</title>
</head>
<body>
    <iframe src="comment.html"></iframe>
</body>
</html>

comment.html

<div id="foobar"></div>
<script type="text/javascript">
    alert(document.getElementById('foobar'));
</script>

1 Ответ

4 голосов
/ 02 марта 2010

HTML-файл вашего комментария сформирован неправильно. Попробуйте использовать:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>untitled</title>
</head>
<body>
<div id="foobar"></div>
<script type="text/javascript">
    alert(document.getElementById('foobar'));
</script>

</body>
</html>
...