Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сослаться на линк из document.write ? (https://javascript.ru/forum/misc/2678-kak-soslatsya-na-link-iz-document-write.html)

Navsad 31.01.2009 10:07

:) Блин, да я просто совсем не программист, я электронщик. А хочу создать iframe c адресом герерируемым скриптом, то есть, не окошко в котором будет написан этот адрес, а окошко в котором будет документ с адресом из скрипта.

Navsad 31.01.2009 10:09

Я вот тут попробывал:
<script language="JavaScript" src="http://domain.net/links/name.js"></script>
<script language="JavaScript">
var html = ' ';
html += '<ifr' + 'ame';
html += 'scr=' + node.getElementsByTagName('a')[1];
html += ' width="468" height="60">';
html += '</ifr' + 'ame>';
document.write(html);
</script>

И оно не работает, ход мыслей хоть верный? Или может ошибка где?

x-yuri 31.01.2009 10:19

почему не заменить '<ifr' + 'ame' -> '<iframe' ?

Цитата:

<script language="JavaScript" src="http://domain.net/links/name.js"></script>
его лучше запихнуть в невидимый div (чтобы пользователь не увидел временно существующую ссылку)

Цитата:

node.getElementsByTagName('a')[1]
можно сразу document.getElements... если уверен, что индекс 1 не изменится
альтернитивный вариант - найти контейнер в котором находится ссылка (по id, getElementById) и в нем искать ссылку с помощью getElementsByTagName

p.s. лучше содержимое атрибута src поместить в двойные кавычки

Navsad 31.01.2009 10:24

Блин, чушь
ставлю такой код:
<script language="JavaScript">
var html = ' ';
html += '<iframe scr="http://www.google.ru/" width="468" height="300"></iframe>';
document.write(html);
</script>

А на стринице ни каких изменений..

x-yuri 31.01.2009 10:31

var iframe = document.createElement('iframe');
iframe.src = 'http://www.google.ru/index.html';
iframe.style.width = 468;
iframe.style.width = 300;
document.getElementsByTagName('body')[0].appendChild( iframe );

Navsad 31.01.2009 10:42

Так, iframe заработал, спасибо.
А теперь если не трудно, напешите код, чтоб вместо http://www.google.ru/index.html
подставлятось
http://domain.net/1234/index.html
которая генерится скриптом
<script language="JavaScript" src="http://domain.net/links/name.js"></script>

x-yuri 31.01.2009 10:45

твой вариант ;-)

Navsad 31.01.2009 10:49

:)
Ну тогда приступим.
Я так понял, что в строке node.getElementsByTagName('a')[0], 0 - это номер ссылки по порядку, верно или нет?

Предположим, что да, тогда может такой вариант?
<script language="JavaScript" src="http://domain.net/links/name.js"></script>
<script language="JavaScript">
var iframe = document.createElement('iframe');
iframe.src = node.getElementsByTagName('a')[1];
iframe.style.width = 468;
iframe.style.width = 300;
document.getElementsByTagName('body')[0].appendChild( iframe );
</script>
?

x-yuri 31.01.2009 10:53

Цитата:

Сообщение от Navsad (Сообщение 11699)
:)
Ну тогда приступим.
Я так понял, что в строке node.getElementsByTagName('a')[0], 0 - это номер ссылки по порядку, верно или нет?

да

Цитата:

Предположим, что да, тогда может такой вариант?
<script language="JavaScript" src="http://domain.net/links/name.js"></script>
<script language="JavaScript">
var iframe = document.createElement('iframe');
iframe.src = node.getElementsByTagName('a')[1];
iframe.style.width = 468;
iframe.style.width = 300;
document.getElementsByTagName('body')[0].appendChild( iframe );
</script>
?
где переменной node присваивается значение и что, как ты думаешь там должно быть?

Navsad 31.01.2009 10:54

http://domain.net/links/name.js вот это что ли?


Часовой пояс GMT +3, время: 11:00.