Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.11.2011, 20:36
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

Странности iframe с атрибутами name / id
Как присвоить значение атрибуту name у тега iframe?
frm.name = "frame_name";
присваивает значение атрибуту id


Чтобы указать ссылке <A> в каком фрейме открыть сайт, нужно установить атрибут target="frame_name", где frame_name - содержимое атрибута name у iframe.

Но проблема в том, что не получается созданному динамически iframe присвоить атрибут name... Вместо него имя фрейма присваивается атрибуту id
А id игнорируется - для target нужен именно атрибут name, или ссылка откроется не во фрейме, а в новом окне.
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2011, 20:46
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от Почемучкин
присваивает значение атрибуту id
А какой браузер себя так ведёт?

Попробуйте добавлять через setAttribute.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #3 (permalink)  
Старый 07.11.2011, 21:01
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

IE6, IE8

setAttribute точно так же не работает.

Прикол в том, что атрибут name устанавливать не хочет, но при этом и отказывается использовать id как target.
Вызов
frm.name = "iframe_name"; //то же через setAttribute
приводит либо к тому, что это имя присваивается id, либо вообще игнорируется. Но если id уже установлен, то просто всегда игнорируется.

Буду также очень благодарен за работающий кусок кода.

Последний раз редактировалось Почемучкин, 07.11.2011 в 21:08.
Ответить с цитированием
  #4 (permalink)  
Старый 08.11.2011, 01:17
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

var ifrm = document.createElement("iframe");
    ifrm.className = "ehjfbjh";
    ifrm.id = "IFRAME_ID";
    ifrm.name = "IFRAME_NAME";
    //ifrm.setAttribute( "name", "IFRAME_NAME");
    ifrm.width  = 300;
    ifrm.height = 100;
    ifrm.src = "http://google.ru/";
    //ifrm.src = "about:blank";
    ifrm.frameBorder = 0;
    document.body.appendChild(ifrm);
Ответить с цитированием
  #5 (permalink)  
Старый 08.11.2011, 23:04
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

Ух, спасибо! Кстати, я нашел еще один способ. Но пока не протестировал.
Но способы по ссылкам мне больше нравятся.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
iframe и якорь Nikoole Элементы интерфейса 8 10.10.2011 13:36
Скрыть iframe - транспорт при отправке формы. Kotakota AJAX и COMET 2 30.08.2011 10:43
Вложенные IFrame и History goldserg Элементы интерфейса 1 28.03.2011 15:57
Закрыть iframe из iframe rawuk Элементы интерфейса 1 02.03.2011 11:05
как можно создать iframe со скриптами GOll Общие вопросы Javascript 2 05.05.2009 11:32