Jump to content
  • 0

ДОМ и appendChild


ide32
 Share

Question

Здравствуйте, у меня есть 2 файла:

(popup.html)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
<script type="text/javascript">
function mypopup()
{
mywindow = window.open('window.html','Title','location=0,status=1,scrollbars=1,width=800,height=600');
}
</script>
</head>

<body onLoad="mypopup()">

</body>
</html>

и

(window.html)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body>
<script language="javascript" type="text/javascript">
textField = opener.document.body;
if(!textField) alert('ERROR: textField not set!'); //else alert(textField);


function appCD1(){
var text1 = document.createTextNode("Текст Кнопки 1.n");
var br = document.createElement('BR');
textField.appendChild(text1);
textField.appendChild(br);
}

function appCD2(){
var text2 = document.createTextNode("Текст Кнопки 2.n");
var br = document.createElement('BR');
textField.appendChild(text2);
textField.appendChild(br);
}
</script>

<input type="button" value="Кнопка 1" onClick="appCD1()">
<input type="button" value="Кнопка 2" onClick="appCD2()">

</body>
</html>

соответственно.

Момент такой, в Mоzille все работает каг часы.

а Эксплорер выдает при нажати на одну из кнопок "Строка 16, символ 3, Интерфейс не поддерживается., window.html". Я не могу понять в чем дело, аналогичный код (правда без попапа) работает нормально.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

А так?

<script language="javascript" type="text/javascript">
textField = window.opener.document;
if(!textField) alert('ERROR: textField not set!'); //else alert(textField);


function appCD1(){
var text1 = textField.createTextNode("Текст Кнопки 1.n");
var br = textField.createElement('BR');
textField.body.appendChild(text1);
textField.body.appendChild(br);
}

function appCD2(){
var text2 = textField.createTextNode("Текст Кнопки 2.n");
var br = textField.createElement('BR');
textField.body.appendChild(text2);
textField.body.appendChild(br);
}
</script>

Link to comment
Share on other sites

  • 0
ПОЧЕМУ?

Потому что вы создавали элемент в дочернем окне и пытались вставить его в родительское.

А здесь:

textField.createElement('BR');

textField.body.appendChild(br);

Элемент созда?тся и добавляется в родительском окне, через ссылку (textField) на него.

[uPD] опередили :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy