Общая задача - нужно из своей десктопной программы открыть браузер с определенной страницей, ввести там на форме логин-пароль и выполнить сабмит этой формы. ОС - Windows. Браузер, желательно, любой, но сойдет и однобраузерное решение.
Один из вариантов, которые я рассматриваю, заключается в том, чтобы выполнить команду start командной строки Windows с нужным URL-ом/букмарклетом. Простые вещи типа
start javascript:window.resizeTo(1024,768);
вполне работают (правда, срабатывает всегда IE, а не стоящий браузером по-умолчанию FF, но это не критично).
У меня получилось написать два отдельных букмарклета:
для открытия сайта:
javascript:window.open('http://mysite.ru');
для заполнения формы и ее сабмита:
javascript:document.getElementsByName('USER_LOGIN')[0].value = 'login';document.getElementsByName('USER_PASSWORD')[0].value = 'password';document.getElementsByTagName('form')[0].submit();void 0;
По-отдельности из адресной строки браузера они работают.
Подскажите, пожалуйста, как их объединить?
Наиболее сильно осложняет дело тот факт, что window.open работает асинхронно и простым объединением этих букмарклетов нужно результата не добиться.