Ошибка выполнения JS
-
[[LINK]].match(/>(.+?)</)[1]
Спасибо!) А в данном случае это ж будет первое и единственное вхождение, там не [0] должно быть?
indexOf('">')
Нужно ли кавычку забэкслешить?
Типо так:indexOf( ' \"> ' )
-
@derkote кавычку не нужно ескейпить, потому что они обрамлены одинарными кавычками. Если бы там были вместо
"
такие'
то обрамить нужно было бы двойными"
.там должно быть именно [1], все так, как я написал. Если ты укажешь 0 то получишь вместо
text
это>text<
и вообще для таких случаем уже придумали для нас удобные способы, работать с регулярками можно и без JS кода: 0_1482503394978_asdaw.xml
-
[[LINK]].substring([[LINK]].indexOf('">')+2, [[LINK]].length-4))
[17:25:16] Поток №1 : SyntaxError: Parse error Номер строки:5 Во время выполнения скрипта { page().script(VAR_LINK.substring(VAR_LINK.indexOf('">')+2, VAR_LINK.length-4)),function(){ VAR_SAVED_SCRIPT_RESULT_NAME = _result() section_start("test", 1,function(){ })})}
-
@derkote там просто в конце одна лишняя скобка, я неудачно скопировал из консоли firefox
сверху поправил.
-
В общем разобрался.
В группе "Браузер" есть функция "Яваскрипт", и вот она работает странно, либо вообще не работает.
В группе "Инструменты" есть функция "Выполнить код", там JS работает отлично :)
-
@derkote 1я используется для выполнения js на странице, она имеет доступ к document. Выполнить код - это просто выполнить какой то js без обращения к document.
-
@DrPrime
Ну не один из примеров выше через "Яваскрипт" так и не заработал, а через "Выполнить код" все работает.
-
@derkote так изначально оно и писалось под выполнить код.
-
Ну не один из примеров выше через "Яваскрипт" так и не заработал, а через "Выполнить код" все работает.
В этой версии чтобы передавать переменные в действие "Яваскрипт" их нужно эскейпить. Уже исправил, в следующей(будет в понедельник) должно работать и так
[[LINK]].match(/\>(.*?)\<\/a\>/)[1]
Но лучше для регулярных выражений использовать действия "Выполнить код" или модулем "Регулярные выражения" или Xpath