Страницы: 1
Есть ли способ использовать jQuery в js-файле, исполняемом через iMacros?
и правда, теперь работает...
хотя до этого пробовал, не получалось. похоже не проверил после того как на сервере хейдер поставил...
Проблема с post-запросом. Обращаюсь к пхп-файлу таким образом:
$("input[value='OK']").click(function(){ console.log('test'); var gmxml = GM_xmlhttpRequest({ method : "POST", url : "http://myserv.w.pw/save_post.php", data: "mes=qwer123&thrd=555", onload : function() { console.log('success'); }, onerror:function() { console.log('FAIL '); } }); });
Запрос успешно проходит. Однако в пхп-файле $_POST['mes'] и $_POST['thrd'] пустые, print_r тоже пустые массивы даёт. ЧЯДНТ?
Во! Наконец-то получилось! Я в самом начале даже почти так же пытался... Похоже всё дело было в строчке CODE:SET !EXTRACT_TEST_POPUP NO
Не понятно по обрывкам кода Что вы пытаетесь сделать
Ну передать джаваскрипу извлечённый текст. Весь код я там выше писал:
[code]var mac;
var retcode;
var s_n = "\n";
mac = "CODE:SET !REPLAYSPEED MEDIUM"+s_n;
mac += "URL GOTO=http://sitename.ru/forum/profile.php?mode=register"+s_n;
mac += "TAG POS=1 TYPE=A ATTR=TXT:Я<SP>согласен<SP>с<SP>этими<SP>условиями<SP>и<SP>мне<SP>13<SP>лет<SP>или<SP>больше"+s_n;
mac += "TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:profile.php ATTR=NAME:username CONTENT=имя"+s_n;
mac += "TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:profile.php ATTR=NAME:email CONTENT=ygjyjg@rambler.ru"+s_n;
mac += "TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:profile.php ATTR=NAME:new_password CONTENT=123"+s_n;
mac += "TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:profile.php ATTR=NAME:password_confirm CONTENT=123"+s_n;
mac +="TAG POS=1 TYPE=SPAN ATTR=TXT:Нап* EXTRACT=TXT"+s_n;
retcode = iimPlay(mac);
function second_passed() {
var que = JSON.parse(iimGetLastExtract(0));
alert(qu
А как всё-таки правильно в JSON.parse() поместить iimGetLastExtract() ?
Вот когда, например, делаю var que = JSON.parse("[1,2,3]"); окошко с результатом вылазит
А если пишу var que = JSON.parse(iimGetLastExtract(1)); то ничего не происхоит... Как правильно туда iimGetLastExtract(1) засунуть?
upd: В той статье кстати написано - Name change: Please use iimGetExtract instead. See API enhancements for details.
Попробовал заменить на iimGetExtract, но всё равно ничего
Попробовал вот так:
var mac; //var JSON; var retcode; var s_n = "\n"; mac = "CODE:SET !REPLAYSPEED MEDIUM"+s_n; mac += "URL GOTO=http://sitename.ru/forum/profile.php?mode=register"+s_n; mac += "TAG POS=1 TYPE=A ATTR=TXT:Я<SP>согласен<SP>с<SP>этими<SP>условиями<SP>и<SP>мне<SP>13<SP>лет<SP>или<SP>больше"+s_n; mac += "TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:profile.php ATTR=NAME:username CONTENT=имя"+s_n; mac += "TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:profile.php ATTR=NAME:email CONTENT=ygjyjg@rambler.ru"+s_n; mac += "TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:profile.php ATTR=NAME:new_password CONTENT=йцукен"+s_n; mac += "TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:profile.php ATTR=NAME:password_confirm CONTENT=йцукен"+s_n; mac +="TAG POS=1 TYPE=SPAN ATTR=TXT:Нап* EXTRACT=TXT"+s_n; retcode = iimPlay(mac); function second_passed() { var que = mac.parse( iimGetLastExtract(1) ); alert(que[1]); } setTimeout(second_passed, 15000)
Не выскакивает окошко. А JSON в примере за что отвечает?
…Запуск макроса исправил, а с iimGetLastExtract что-то запутался... Вот так пробовал:
var que; var imacros; Set imacros = CreateObject("imacros") ; retcode = imacros.iimInit(); retcode = imacros.iimPlay(macro); que = imacros.iimGetLastExtract();
Так в VAR1 запишется результат из JS
А можно сделать наоборот - записать в JS содержимое VAR1 (либо EXTRACT)? Потому что надо передать строку функции js на обработку...
Разбей свою задачу на блоки и создай несколько макросов которые будут получать данные из Джава скрипта,
И потом вызывай их в Джава скрипте и все .....
Попробовал так сделать, почему-то ошибку выдаёт - RuntimeError: Macro regmacr.iim not found (Error code: -930), хотя я создал regmacr.iim
Макрос:
[spoiler]VERSION BUILD=7401110 RECORDER=FX
TAB T=1
CODE:SET !REPLAYSPEED MEDIUM
URL GOTO=http://sitename.ru/forum/profile.php?mode=register
TAG POS=1 TYPE=A ATTR=TXT:Я<SP>согласен<SP>с<SP>этими<SP>условиями<SP>и<SP>мне<SP>13<SP>лет<SP>или<SP>больше
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:profile.php ATTR=NAME:username CONTENT={{LOGIN}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:profile.php ATTR=NAME:email CONTENT={{EMAIL}}
TAG POS=1 TYPE=INPUT:PASSWORD FORM=ACTION:profile.php ATTR=NAME:new_pas
А можно сделать, чтобы содержимое {{EXTRACT}} передалось в переменную джаваскрипта? Когда присваиваю переменной "{{EXTRACT}}" или "{{VAR1}}", оно походу не содержимое, а сами эти строчки возвращает...
И ещё - можно сделать, чтобы джаваскрипт-функция выполнялась в нужный момент? Чтобы макрос ждал, пока выполнится функция, а потом продолжал заполнения полей, с учётом результата её выполнения.
В общем вот скрипт (из всей простыни в данном случае значение имеет 3, 13 строка - присвоение переменной JS {{VAR1}} и присвоение переменной макроса {{VAR1}} {{EXTRACT}}, 70 строка - передача заполняемой форме результата выполнения JS-функции и 69 строка - загрузка JS-функции).
[spoiler]var macro;
var retcode;
var que = "{{!VAR1}}";
var s_n = "\n";
macro = "CODE:SET !REPLAYSPEED MEDIUM"+s_n;
macro += "URL GOTO=http://sitename.ru/forum/profile.php?mode=register"+s_n;
macro += "TAG POS=1 TYPE=A ATTR=TXT:Я<SP>согласен<SP>с<SP>этими<SP>условиями<SP>и<SP>мне<SP>13<SP>лет<SP>или<SP>больше"+s_n;
macro +=
Можно ли выполнить в макросе javascript-файл?
И ещё: можно ли считать со страницы текст в определённых тегах, если он каждый раз разный?
Путём записи макроса получил такую строчку:
Страницы: 1