Уже помогли в личке. Почему в BAS не работает код регулярки с regex101 - для меня загадка. На будущее тем кто будет искать - составляйте в БАСе сами или каком-либо редакторе но не пользуйтесь regex101 - там составляются не рабочие и плохие регулярки.
как выполнить в контексте браузера код и сохранить его вывод?
-
у меня большой кусок кода, который чтото делает. как мне в конце вернуть результат в БАС?
Мастера конспирологии.. Любой js код можно выполнить в строке. Но если переводить накладно, можете использовать действие шаблон, заранее заменив фигурные скобки:
{ -
{
} -}И выполнить в яваскрипт через eval()
eval([[TEMPLATE_RESULT]])Подробнее разобрал в соседней теме
-
могу ли я явно вернуть значение, которое переменной присвоится. если да, то как.
К сожалению вернуть значение можно только через результат, то есть код
var q = "hi";[[TEST]] = qне вернёт значение "hi" в переменную [[TEST]] из действия "яваскрипт".
-
@cblp said in как выполнить в контексте браузера код и сохранить его вывод?:
в уроках даны простешие примеры типа X.indexOf(Y). Такое работает, и, действительно, сохраняется в переменную. А вот как мне выполнить большой многострочный код, и какую конструкцию использовать, чтобы "вернуть" результат из него в переменную BAS?
Если я правильно понял вашу задачу, то я ее решаю так
В экшине "Выполнить код" примерно такая конструкцияpage().script("foo(); " + foo.toString())! [[SAVED_SCRIPT_RESULT]] = JSON.parse(_result()); function foo(){ // Any code return JSON.stringify(outResult); }
