Реклама на сайте Advertise with us

Подружить Iframe с Яаваскрипт, как ?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 29.07.03
Сообщения: 426
Рейтинг: 512

Ссылка на сообщениеДобавлено: 30/06/06 в 10:40       Ответить с цитатойцитата 

Нужно передать локейшен на iframe явой,
делаю так

Код:

<script>
for (i=0;i<document.frames.length;i++) {
url = 'blahblahblah';
document.frames[i].location = url;
}
</script>


работает прекрасно в ИЕ и Опере, с Фаерфоксом работать отказывается полностью.

Может кто сталкивался с подобной проблемой?

0
 

1К13!

С нами с 07.05.04
Сообщения: 7721
Рейтинг: 2428

Ссылка на сообщениеДобавлено: 30/06/06 в 11:14       Ответить с цитатойцитата 

мот я чё недопонимаю, но я пишу ифрейм явой через document.write

Talitha kumi!

0
 



С нами с 29.07.03
Сообщения: 426
Рейтинг: 512

Ссылка на сообщениеДобавлено: 30/06/06 в 11:24       Ответить с цитатойцитата 

Не, ифрейм уже есть на странице, нужно явой сменить его свойство, заданное параметром src

0
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 30/06/06 в 11:25       Ответить с цитатойцитата 

document.frames[i].location.assign(url);

?

4
 

Раздаю инвайты, ищу линк-трейд

С нами с 20.08.04
Сообщения: 16687
Рейтинг: 8593


Передовик Master-X (16.11.2006) Передовик Master-X (01.09.2019)
Ссылка на сообщениеДобавлено: 30/06/06 в 11:38       Ответить с цитатойцитата 

Да, кинь сокращенный код для примера
Там дело в том, имхо - что файрфокс действует строго по W3C а ие - у них еще плюс и своя модель есть
опера старалась поддерживать весь код, работающий в ие

А вообще попробуй
parent.frames[i].location = url;

тк для document W3C не предусмотрено коллекции фрейм

Последний раз редактировалось: pierx (30/06/06 в 11:51), всего редактировалось 1 раз

Кому ссылку?
RU и EN Dating

4
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 30/06/06 в 11:50       Ответить с цитатойцитата 

pierx писал:
файрфокс действует строго по W3C а ие - у них еще плюс и своя модель есть


ага. вот например

window.location = 'string';

это глупо с точки зрения жаба-скрипт, т.к. window.location это объект, а не свойство. А в ИЕ работает. Правильно будет:

window.location.href = 'string';
или
window.location.assign('string');

4
 

Раздаю инвайты, ищу линк-трейд

С нами с 20.08.04
Сообщения: 16687
Рейтинг: 8593


Передовик Master-X (16.11.2006) Передовик Master-X (01.09.2019)
Ссылка на сообщениеДобавлено: 30/06/06 в 11:52       Ответить с цитатойцитата 

Короче выше подредактировал - глянь - будет работать?
Ну href можно добавить для корректности, хотя мне кажется и так съестся

Кому ссылку?
RU и EN Dating

4
 



С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096

Ссылка на сообщениеДобавлено: 30/06/06 в 12:03       Ответить с цитатойцитата 

странно, у меня если изначально задан src то потом яваскриптом изменить его не получается. Всмысле после смены src ифрейм не перегружает данные. Ну если у тебя работает, то варианты такие. Во-первых читал что по стандарту ссылки на объекты лучше получать не через document.frames[] и т.п., а через document.getElementById('id_of_element'). Я конечно точно не скажу, но может в фф просто document.frames[i] равен NULL?

Вобщем если учесть эти мои пожелания, то в результате должен получиться такой вариант:

document.getElementById('ifr').navigate('http://url');

и само собой ифрейму надо назначить id="ifr".

4
 



С нами с 29.07.03
Сообщения: 426
Рейтинг: 512

Ссылка на сообщениеДобавлено: 30/06/06 в 12:06       Ответить с цитатойцитата 

pierx и Pentarh плюс по максимуму
огромный сенкс, все работает

0
 



С нами с 29.07.03
Сообщения: 426
Рейтинг: 512

Ссылка на сообщениеДобавлено: 30/06/06 в 14:51       Ответить с цитатойцитата 

В продолжение темы: кто-нибудь представляет как можно получить доступ к объекту в iframe из основного окна.
parent.frames[i].objectName
опять таки работает только в ие и опере

0
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 30/06/06 в 15:36       Ответить с цитатойцитата 

Из основного окна.

Предполагается что ифрейм имеет id="frame1" :
<iframe id="frame1" ...>
Нужный нам обект располагается во фрейме и имеет ИД objectName:
<someobect id="objectName"...>
Код:

oFrame=document.getElementById('frame1');
if (oFrame)
{
  //ищем объект ифрейма
  oObject=oFrame.document.getElementById('objectName');
  if (oObject)
  {
      //Обращение к объекту, например, если это форма
     if (oObject.tagName.toLowerCase() == 'form')
            oObject.submit();
  }
}


Это стандартная W3C DOM модель.

4
 



С нами с 29.07.03
Сообщения: 426
Рейтинг: 512

Ссылка на сообщениеДобавлено: 03/07/06 в 10:46       Ответить с цитатойцитата 

Почти получилось, но что-то не то

вот код страницы в ифрейме page.htm
Код:

<form id="frm" name="frm">
<input type="text" id="b1" name="b1" value="10">
<input type="text" id="b2" name="b2" value="11">
<input type="text" id="b3" name="b3" value="12">
<input type="text" id="b4" name="b4" value="13">
</form>


вот код основной страницы
Код:

<iframe name="ti" id="ti" width="300" height="300" src="page.htm" frameborder="2"></iframe>
<script type="text/javascript">
oFrame=document.getElementById('ti');
if (oFrame)
{
  //ищем объект ифрейма
  document.write('ok-1');
  oObject=oFrame.document.getElementById('b1');
  if (oObject)
  {
      document.write('ok-2');
  }
}
</script>

в общем в таком виде oFrame существует (ok-1 печатает), а oObject нет, подскажите где грабли, нужно получить b1.value

0
 

Раздаю инвайты, ищу линк-трейд

С нами с 20.08.04
Сообщения: 16687
Рейтинг: 8593


Передовик Master-X (16.11.2006) Передовик Master-X (01.09.2019)
Ссылка на сообщениеДобавлено: 03/07/06 в 11:26       Ответить с цитатойцитата 

Имхо - все верно - для родительской страницы есть объект ифрейм - и доступ можно получить только к нему - к его свойствам (align, contentDocument, frameBorder, height, id...), методам (blur(), focus()) и событиям (onBlur, onFocus) и все.

А объекты ифрема - это уже в штмл коде ифрейма обрабатывать.
Иначе дыр бы было еще больше - не уберегстись.

стандартная W3C DOM модель. icon_wink.gif

Скрипт же "видит" только код страницы - а там нет элементов в ифрейме - там только сам ифрейм

Кому ссылку?
RU и EN Dating

4
 



С нами с 29.07.03
Сообщения: 426
Рейтинг: 512

Ссылка на сообщениеДобавлено: 03/07/06 в 12:07       Ответить с цитатойцитата 

всем спасибо, проблема решена

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »