Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Работа с фреймами (https://javascript.ru/forum/misc/42903-rabota-s-frejjmami.html)

smarttel 13.11.2013 16:37

Работа с фреймами
 
Добрый день. У меня есть 3 странички, вот содержание каждого:

Страница v.php
<html>
<frameset rows="100,*">
<frame src="./v1.php" name="fr1">
<frame src="./v2.php">
</frameset>
</html>


Страница v1.php
<html>
<body>
<form method="POST" action="http://mysite.ru/login/?back=%2Fnews%2F3458%2F">
<input type="text" name="email" value="mymailtalisman@inbox.ru" />
<input type="text" name="password" value="123456789" />
<input type="submit" name="login" value="ВОЙТИ" />
</form>

<script type="text/javascript">
document.getElementsByName('login')[0].click()
</script>

</body>
</html>


Страница v2.php
<!DOCTYPE html>
<html>
<body>
<?
sleep (10); //ждем 10 сек. чтобы первый фрейм зашел.
echo "ok";
?>
<script type="text/javascript">
window.parent.frames["fr1"].document.getElementsByName("variant")[0].click();
</script>
</body>

</html>

Не работает. Где моя ошибка ? Спасибо

ksa 13.11.2013 16:44

Цитата:

Сообщение от smarttel
Не работает.

Что "не работает"?

smarttel 13.11.2013 16:55

window.parent.frames["fr1"].document.getElementsByName("variant")[0].click();
Не кликает на об'ект, по имени variant

Deff 13.11.2013 17:08

smarttel,
1. Не кликает если window.parent на ином домене
Если "fr1" имя фрейма, то проще такое обращение
window.parent.fr1.document.getElementsByName("variant")[0].click();

smarttel 13.11.2013 17:13

Да, профессор, это так, на другом домене. Значит не будет работать ?

Deff 13.11.2013 17:32

smarttel,
Ну оденьте эту группу в общий фрейм со своего домена

smarttel 13.11.2013 17:34

Извините, но не понял. Как ?

Deff 13.11.2013 19:14

smarttel,
Cоздать эту страницу на своем домене
<html>
<frameset rows="100,*">
<frame src="./v1.php" name="fr1">
<frame src="./v2.php">
</frameset>
</html>


Эту страницу вставить фреймом на чужой, вместо раннее вставки двух фреймов

smarttel 14.11.2013 09:19

Спасибо за ответы. Суть моей проблемы заключается в следующем:
Я хочу работать с чужим сайтом. Мог бы все это организовать в одной странице, без фреймов, используя этот код:
window.location.href="http://mysyte.ru";
document.getElementsByName('variant')[0].click();
однако, после первой команды мой скрипт перестает работать. Поэтому стал использовать фреймы. Но, то что Вы сказали вставить на чужой, не понимаю. Подскажите пожалуйста как это организовать. Спасибо.

ANAGAMA 15.11.2013 19:33

Поставьте каждому фрейму ID, будет проще добираться.

Затем, возможно вам поможет вот это

document.getElementById('f1').contentWindow.document.getElementById('el1')


Используйте отладчик. В Хроме F12, затем Esc.

В строке вводите нужное выражение <enter> и сразу получите результат

:)


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