Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Открыть окно и щелкнуть там по кнопке... (https://javascript.ru/forum/events/13641-otkryt-okno-i-shhelknut-tam-po-knopke.html)

rzhsasha 07.12.2010 17:57

Открыть окно и щелкнуть там по кнопке...
 
Здравствуйте!
Ситуация такая: есть ссылка, на ней висит -
<a onclick="javascript: var sait=window.open('http://sait.ru/login.php?username=login&password=pass','sait'); sait.getElementById('submit').click()">open sait</a>

Это находиться в html-файле на компе (где ссылка, а саит.ру - вообще не мой, изменять не могу).
Щелкаю по ссылке - открывается "http://sait.ru/login.php?username=login&password=pass", но на кнопку не нажимает.
Я давно с js работал, подзабыл. Как правильно написать?
*Может паузу вставить?

rzhsasha 07.12.2010 21:38

Хм...Передаю привет, и благодарность некоему B~Vladi, который давно, мне много помог =)

Skipp 08.12.2010 09:52

rzhsasha,
Какую ещё паузу? Какой ещё click()? Видимо вы совсем давно js не видили, лет 100 не меньше, уж простите.
Гляньте, к вашему примеру это тоже относится.

rzhsasha 08.12.2010 10:30

"javascript: document.getElementById('submit').click()"
вставляя в адресную строку работает...Закрывать окно
"javascript: sait.close()"
в ссылке работает...
То что вы дали - посмотрел, там ничего, из того что мне нужно, вроде нет.
"1.2 доступ к iframe" - это относится к моему примеру?

Skipp 08.12.2010 10:59

rzhsasha,
1.2 именно
Цитата:

вставляя в адресную строку работает
одно дело пользовательский скрипт, а другое дело скрипт посылаемый с сервера.

rzhsasha 08.12.2010 11:06

А ничего, что у меня не iframe, а окно новое открыть надо?
*Что-то я не очень понял...
**Напиши: это вообще возможно? (то что я написал в 1 сообщении)

Kolyaj 08.12.2010 11:08

Цитата:

Сообщение от rzhsasha
А ничего, что у меня не iframe, а окно новое открыть надо?

iframe, по сути, то же окно.

rzhsasha 08.12.2010 11:23

Ладно, допустим.
Добавляем в html-файл на компе. В <head>, между <script language="JavaScript"> и </script>

function getIDoc(e) {
       return (e.contentDocument) ? e.contentDocument : (e.contentWindow) ? e.contentWindow.document : e.document;
}
var iHTML = getIDoc(document.getElementById(id)).body.innerHTML;


Потом её где-то вызываем (в ссылке?) "javascript: getIDoc(sait?)"
Я не совсем понимаю, что делает эта функция.

Kolyaj 08.12.2010 11:43

Вам не надо ничего делать, вам надо прочитать пункт 1.2 фака.

rzhsasha 08.12.2010 11:47

Вы меня убить хотите? я этот пункт уже раз 20 прочитал.

Kolyaj 08.12.2010 11:57

Действительно, вам нужен пункт 1.

Skipp 08.12.2010 11:59

rzhsasha,
У тебя нету доступка к DOM, никакого.
Запрещено политикой безопасности.
Ты можешь работать с DOM только в пределах своего адресса и только*.

rzhsasha 08.12.2010 12:09

Kolyaj смейся, смейся я тебе всё припомню. :D
Skipp короче у меня не выйдет? (всего лишь то нажать на кнопку...То есть кликнуть по кнопке открытого тобой окна нельзя? А если iframe?)

Kolyaj 08.12.2010 12:13

Кнопки созданы для людей, чтобы они могли запускать какие-то действия. Скрипту кнопки не нужны, он и так может запустить эти действия. Поэтому непонятны попытки нажимать кнопку скриптами. Посмотрите, что происходит при нажатии на кнопку и повторите это, может и окно открывать не придётся.

Skipp 08.12.2010 12:15

rzhsasha,
нельзя.
Ты представь сколько бы сейчас по интернету ботов щлялось бы и кликало бы по баннерам.
Перейди по ссылке в первом пункте того FAQ, который я скинул, возможно что полезное узнаешь.

Так же в FF есть плагин iMacros(по моему так называется), может подойдёт.

rzhsasha 08.12.2010 12:23

Так...Skipp: спасибо, посмотрю.
Kolyaj: "Посмотрите, что происходит при нажатии на кнопку и повторите это, может и окно открывать не придётся". А нифига не происходит, отправляется форма. Метод отправки - Post. А еще висит:
onsubmit="document.getElementById('submit').disabled=true; document.getElementById('submit').value='Ожидайте';"
Кнопка выглядит так:
<input name="submit" value="Войти!" class="btn" id="submit" type="submit">

Kolyaj 08.12.2010 12:27

Так и отправьте точно такую же форму на тот же урл с нужными значениями со своей страницы.

rzhsasha 08.12.2010 12:36

А get в виде ссылки не прокатит? везде прокатывает....
http://sait.ru/login.php?username=login&password=pass
фууу...так не интересно, я пыжился....а тут проста форма. (просто ссылка везде работала)
Все выходит, всем спасибо.

rzhsasha 08.12.2010 15:14

Короче я тут разобрался, тут у них такой прикол:
они назвали кнопку submit и id дали ей submit.
И из-за этого ссылокой, как и методом get, как и js(form1.submit()) - не работала писала - "нет такой функции".
Вот такой оказывается прикол есть...И все ради рекламы...но я не из слабаков=)


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