Как получить значение src у frame?
Добрый день, господа!
Не могу найти решения, как получить значение атрибута "src" у тега <frame>. Уже пол Рунета облазил, но решения так и не нашел :( Вот код страницы:
<html>
<frameset style="border: none;">
<frame name="frame_top" src="url1" marginwidth="0" marginheight="0" frameborder="0" />
<frame name="frame_footer" src="url2" marginwidth="0" marginheight="0" scrolling="no" noresize="noresize" frameborder="0" />
</frameset>
</html>
Пробовал такие методы, подскажите что не так?:
var ff = frames.frame_top.getAttribute("src");
var ur = document.getElementsByName('frame_top').src;
var ss = document.getElementsByTagName("frame").src;
|
<html>
<head>
<script>
onload = function(){
fr1 = document.getElementsByTagName('iframe')[0]
alert(fr1.src)
alert( window.frames[0].location.href )
}
</script>
</head>
<body>
1
<frameset style="border: none;">
<iframe name="frame_top" src="url1" marginwidth="0" marginheight="0" frameborder="0" />
<iframe name="frame_footer" src="url2" marginwidth="0" marginheight="0" scrolling="no" noresize="noresize" frameborder="0" />
</frameset>
</body>
</html>
|
src указывает на тот же домен? Если нет, то вы не считаете ничего из фрейма
|
Цитата:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Тег INPUT</title>
</head>
<body>
<div id="d">
<iframe src="http://htmlbook.ru/"></iframe>
</div>
<script type="text/javascript">
alert(document.getElementById('d').children[0].src);
</script>
</body>
</html>
|
Извиняюсь, поторопился с ответом. Логично, что во фрейм можно залесть... Наоборот, из фрейма в родителя, не всегода можно.
Простите, если ввёл кого-то в замешательство |
Цитата:
|
Огромная благодарность за ответы! Только, заметьте, что у меня <frame>, а не <iframe>. К сожалению, способы предложенные Вами, не работают. В консоле Chorme следующее:
На это (fr1 = document.getElementsByTagName('iframe')[0];) ругается так (Uncaught TypeError: Cannot read property 'src' of undefined). А на это (window.frames[0].location.href;), вот так (Uncaught TypeError: Cannot read property 'location' of undefined). Ещё пробовал так: document.getElementsByTagName('frame')[0]; - Результат тот же.. Что можете еще посоветовать?:blink: |
Цитата:
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function fr()
{
alert(document.getElementsByTagName('frameset')[0].children[0].src);
}
//alert();
</script>
</head>
<frameset rows="80,*" cols="*"">
<frame src="http://htmlbook.ru/" name="topFrame" scrolling="no" noresize onload="fr();">
</frameset>
</html>
|
Цитата:
skrudjmakdak, огромнеейшее спасибо, Ваши примеры работают здесь замечательно, а у меня отказывают.. Может быть дело в том, что я использую скрипт, через расширение Tampermonkey и у него есть, какая-то своя особенность реагировать на это? :) |
ну не знаю, что там за Tampermonkey. я с ним не сталкивался. даже честно говоря не знаю то это)) в консоль выводите ответ:
попробуйте для начала так: console.log(document.getElementsByTagName('framese t')[0]); если ответ будет, то идите дальше: console.log(document.getElementsByTagName('framese t')[0].children[0]); |
| Часовой пояс GMT +3, время: 18:12. |