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

Deff 17.11.2013 00:37

Цитата:

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

Попробуйте

window.location.href="http://mysyte.ru";
document.document.querySelectorAll('[name="variant"]')[0].click();


Хотя я бы добавил еще тег типо 'input[name="variant"]' , а может еще и селектор первого (от этого элемента вверх) родителя с id
=> http://learn.javascript.ru/searching-elements-dom

smarttel 18.11.2013 11:13

Спасибо за ответ.
По прежнему не кликает на нужный об'ект.

smarttel 19.11.2013 11:56

А как организовать все это при помощи postMessage ?
Вот примерно то, что я хочу:
var win = document.getElementById("myframe").contentWindow;
win.postMessage(document.getElementsByName("variant")[0].click(), "http://mysite.ru/");

smarttel 21.11.2013 11:21

У меня окончательно такая ситуация:
Страница v.php
<html>
<frameset rows="100,*">
<frame src="./v1.php" name="fr1" id="myframe">
<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
<html>
<body>
<?
sleep (10); //ждем 10 сек. чтобы первый фрейм зашел.
echo "ok";
?>

<script type="text/javascript">
[JS]var win = document.getElementById("myframe").contentWindow;
win.postMessage(document.getElementsByName("variant")[0].click(), "http://mysite.ru/");[/JS]
</script>
</body>
</html>

Однако не работает, не кликает на "variant". Где моя ошибка ? Спасибо


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