Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: opener не работает в Opera
 
 автор: Artemy   (23.05.2007 в 13:29)   письмо автору
 
 

Здрасти.
Есть проблема. Я хочу обратить к родительскому окну и посмотреть HTML код элемента при помощи этой конструкции.

opener.document.getElementById('element').innerHTML;

Все замечательно работает в IE, FF. А в Opera не хочет!
В чем беда?
Это как нибудь лечиться?

   
 
 автор: yuk   (23.05.2007 в 14:02)   письмо автору
 
   для: Artemy   (23.05.2007 в 13:29)
 

У меня работает везде.

<html>
<head>
<script>
function chfun()
{    wind=window.open();
    wind.document.writeln("<input type='Button' value='Пуск' onclick=\"alert(opener.document.getElementById('element').innerHTML)\">");
    wind.document.close();
}
</script>
</head>
<body>
<div id="element" onclick="chfun()">Привет!</div>
</body>
</html>

   
 
 автор: Artemy   (23.05.2007 в 14:12)   письмо автору
 
   для: yuk   (23.05.2007 в 14:02)
 

А если открывать по ссылке?

   
 
 автор: CNT   (23.05.2007 в 14:10)   письмо автору
 
   для: Artemy   (23.05.2007 в 13:29)
 

Код вполне работоспособен, в т.ч. и в OPERA.
Проблема в чём-то ином.
Ищите.
Посмотрите, например, что пишет консоль JavaScript

   
 
 автор: Artemy   (23.05.2007 в 14:14)   письмо автору
 
   для: CNT   (23.05.2007 в 14:10)
 

Новое окно я открываю, традиционно. По ссылке <a href="" target="_blank"></a>.
Может из-за этого?
А где в Opera консоль JavaScript?

   
 
 автор: yuk   (23.05.2007 в 14:31)   письмо автору
 
   для: Artemy   (23.05.2007 в 14:14)
 

Я не так уж силен в этих делах, чтоб так сразу все варианты перебрать. Если бы хоть на код взглянуть - как вы наполняете новое окно, и как пытаетесь из него обратиться к родителю?

   
 
 автор: CNT   (23.05.2007 в 15:31)   письмо автору
 
   для: Artemy   (23.05.2007 в 14:14)
 

Измените ориентацию :-)
Вместо открытия окна по простой ссылке
<a href="URL" target="_blank">Open window</a>
пропишите скриптовую
<a href="#" onclick="window.open ('URL', '_blank'); return false">Open window</a>

И opener будет работать во всех браузерах.

Консоль у OPERA в "Инструменты -- Дополнительно"

   
 
 автор: Artemy   (23.05.2007 в 18:23)   письмо автору
 
   для: CNT   (23.05.2007 в 15:31)
 

Спасибо большое, получилось отчасти!
Теперь я могу прочитать
opener.document.getElementById('element').innerHTML
но не могу изменить значение.
Открываю новое окна так
 function viewDescript(_this){
    window.open(_this.href, '', 'scrollbars=1, location=0, menubar=0, toolbar=0, status=0, resizable=1, width=780, height=600');
        return false;
  }
<a href="/description/1/" class="button" target="_blank" onClick="return viewDescript(this);">

   
 
 автор: yuk   (23.05.2007 в 22:54)   письмо автору
 
   для: Artemy   (23.05.2007 в 18:23)
 

Можно просто присвоить этой конструкции значение:
opener.document.getElementById('element').innerHTML='Новое значение'

Если подправить немного мой примерчик выше, то получится так:

<html> 
<head> 
<script> 
function chfun() 
{    wind=window.open(); 
    wind.document.writeln("<input type='Button' value='Пуск' onclick=\"JavaScript:opener.document.getElementById('element').innerHTML='Пока'\">"); 
    wind.document.close(); 

</script> 
</head> 
<body> 
<div id="element" onclick="chfun()">Привет!</div> 
</body> 
</html>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования