Скрипт в скрипте. Кто как реализовывал?
-
Приветствую.
Столкнулся с потребностью выполнять скрипт в скрипте.
Пробовал дёргать скрипт из файла: и выполнять по средствам eval([[SCRIPT]]) Что с кавычками что с одинарными, что с двойными что без них -
Выдаёт ошибку " SyntaxError: Parse error во время выполнения действия "
Далее, нашел возможность интегрировать вроде как скрипт в страницу браузера из этого топика
Использовал данный методpage().script("script.js")!
Но это немного не то что нужно, и + действия идущие после неё - попросту не выполняются, собственно вопрос: Как можно реализовать скрипт получаемый извне, в вашем скрипте?
-
Можно ли каким-то образом выполнить код из строки? К примеру записать код в переменную и выполнить его через "Выполнить код"
Допустим есть такой код:
_switch_http_client_main()
http_client_get2("http://www.google.com/",{method:("GET"),headers:("")})!
Как его выполнить из переменной?
-
@mordor
Вопрос любопытный. Подпишусь =)
-
@mordor Если вам надо выполнить js скрипт в браузере то есть экшен Выполнять ява скрипт в браузере, если надо выполнить js скрипт в потоке программы, то для этого есть экшен выполнить код. Из строки то как Вы сказали через eval.
-
@usertrue said in Скрипт в скрипте. Кто как реализовывал?:
если надо выполнить js скрипт в потоке программы, то для этого есть экшен выполнить код
Это то понятно.
Ну а можно ли выполнить код, который хранится в строковой переменной?
-
@xclsv eval. При том, если выполняется скрипт в браузере то там и так строку принимает только.
-
@usertrue
http://prntscr.com/m7v20a
Нужно в потоке программы, я как бы и пробовал в ВЫПОЛНИТЬ КОД eval([[STRING]]), но это как бы заканчивается ошибкой.
-
@mordor По той информации, что вы дали не могу сказать в чем причина. Могу только сказать, что через eval все работает.
var [[SCRIPT]] = "var str = 'Hi man'; log(str);" eval([[SCRIPT]])
-
@usertrue А если допустим вот такой код
_switch_http_client_main() http_client_get2("http://www.google.com/",{method:("GET"),headers:("")})
-
@usertrue Ок, попробуй сам его выполнить через eval если несложно, у меня его выполнение заканчивается: " SyntaxError: Parse error во время выполнения действия "
-
@mordor
Где-то синт ошибка значится =)
А точки с запятой в каждой строке пробовал ставить? Не очень шарю в js. Ну и хз, как это выполнить код скушает.
-
var probival = ' _switch_http_client_main(); http_client_get2("http://www.google.com/",{method:("GET"),headers:("")})!'; eval('probival');
[816172578] [12:07:16] Поток №1 : SyntaxError: Parse error во время выполнения действия 816172578
-
И так пробовал, и как я уже только не пробовал
var probival = '{_switch_http_client_main();http_client_get2("http://www.google.com/",{method:("GET"),headers:("")})!}'; eval('probival');
-
@mordor Не понятно зачем API вызывать из строки! К тому же вы в eval суете строку 'probival', что он должен исполнить ? ))
-
@usertrue Это я уже туплю, оно как переменную не выполняет probival )) выдаёт синтаксическую ошибку))
-
@mordor said in Скрипт в скрипте. Кто как реализовывал?:
@usertrue Это я уже туплю, оно как переменную не выполняет probival )) выдаёт синтаксическую ошибку))
Ну и самое главное eval работает с js кодом, а вы обращаетесь к нативным функциям из БАС. ))
-
@usertrue Ок, как тогда можно выполнить скрипт Баса в Скрипте?
-
@mordor Просто выполняете через выполнить код.
http_client_get2("http://www.google.com/",{method:("GET"),headers:("")})!
-
@usertrue Но с АПИ работать сложно, много тонкостей.
-
@usertrue А если у меня допустим этот код лежит в отдельном файле, который я читаю в переменную, как его выполнить тогда?