Как сослаться на линк из document.write ?
Здравстуйте, подскажите плз!
На странице стоит скрипт вида: <script language="JavaScript" src="http://domain.net/links/name.js"></script> Он генерит на странице случайную ссылку. Сам скрипт: document.write("<font face=Times New Roman size=3 color=> </font><a href=http://domain.net/1234/index.html><font face=Times New Roman size=3 color=#FFCCFF>Текст ссылки</font></a>"); Как сделать iframe с адресом генерируемым этим скриптом? |
document.write('<iframe src="http://domain.net/1234/index.html"></iframe>'); |
Блин, я наверно плохо написал, уточняю, ссылка генерится скриптом и каждый раз другая, если бы одна, то вопросов нет, а так...
|
запускать скрипт в изначально невидимом iframe и корректировать его
|
А по подробнее, как это сделать то?
|
есть еще вариант запускать скрипт в невидимом div'е и из полученного результата вытаскивать ссылку и потом создавать iframe - чтобы не создавать iframe непонятно куда указывающий или временно указывающий не туда
а по поводу вопроса - что именно не понятно? как запустить скрипт - <script language="JavaScript" src="http://domain.net/links/name.js"></script> как получить доступ к ссылке - node.getElementsByTagName('a')[0] или что? |
Блин, да я знаю как установить код, он уже стоит.
Так всетаки как конкретно связать iframe и node.getElementsByTagName('a')[0] ? |
ты хочешь готовый код? спроси что именно ты не знаешь как сделать ;-)
Цитата:
|
Да да, именно это и надо, пусть я выгляжу дураков в глаза опытных программистов, пофик, но я не знаю как это сделать:(
|
ты не выглядишь дураком, просто не хочешь сам предпринять какие-либо действия
скажи, что именно ты не знаешь: как найти ссылку, как выяснить куда она ссылается, как удалить ссылку, как создать iframe, твой вариант? |
:) Блин, да я просто совсем не программист, я электронщик. А хочу создать iframe c адресом герерируемым скриптом, то есть, не окошко в котором будет написан этот адрес, а окошко в котором будет документ с адресом из скрипта.
|
Я вот тут попробывал:
<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> И оно не работает, ход мыслей хоть верный? Или может ошибка где? |
почему не заменить '<ifr' + 'ame' -> '<iframe' ?
Цитата:
Цитата:
альтернитивный вариант - найти контейнер в котором находится ссылка (по id, getElementById) и в нем искать ссылку с помощью getElementsByTagName p.s. лучше содержимое атрибута src поместить в двойные кавычки |
Блин, чушь
ставлю такой код: <script language="JavaScript"> var html = ' '; html += '<iframe scr="http://www.google.ru/" width="468" height="300"></iframe>'; document.write(html); </script> А на стринице ни каких изменений.. |
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 ); |
Так, iframe заработал, спасибо.
А теперь если не трудно, напешите код, чтоб вместо http://www.google.ru/index.html подставлятось http://domain.net/1234/index.html которая генерится скриптом <script language="JavaScript" src="http://domain.net/links/name.js"></script> |
твой вариант ;-)
|
:)
Ну тогда приступим. Я так понял, что в строке 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> ? |
Цитата:
Цитата:
|
http://domain.net/links/name.js вот это что ли?
|
почитай для начала http://javascript.ru/start/dom
|
Блин, да если бы было время я почитал конечно, а так работа, с этим совсем не связана, да пахать приходится много, сейчас вот на работе и завтра придется тоже выходить. Может подскажешь?:)
|
может href надо вписать?
|
засунь "<script language="JavaScript" src="http://domain.net/links/name.js"></script>" в div, назначь ему id, найди div по id (getElementById), найди в нем ссылку (getElementByTagName), из ссылки достань href
после этого можно удалить div (removeChild) |
Так правильно?
<div id="d1"> <script language="JavaScript" src="http://domain.net/links/name.js"></script> </div> <script language="JavaScript"> var div = document.getElementById('d1') var iframe = document.createElement('iframe'); iframe.src = div.getElementsByTagName('a')[0]; iframe.style.width = 468; iframe.style.width = 300; document.getElementsByTagName('body')[0].appendChild( iframe ); </script> |
Во блин, вроде заработало:)
|
Только куда removeChild вставить?
|
лучше заменить language="Javascript" -> type="text/javascript"
в принципе можно вместо document.getElementsByTagName('body')[0] писать document.body (хоть в стандартах это не описано, но браузерами поддерживается) removeChild нужно вызывать так: <контейнер>.removeChild(<то что ты хочешь удалить в контейнере>) |
Ясно, большое спасибо!!!!
|
Navsad,
На будущее, пожалуйста пользуйтесь bb-тегами [js] или [html] для оформления листингов кода в теле сообщения. |
Часовой пояс GMT +3, время: 03:56. |