@zxcure это не форум питон разработчиков! Но очевидно, он не может корректоно выполнить eval, выводите в лог то что поступает на вход eval
TypeError: Result of expression 'VAR_HOST' [undefined] is not an object.
-
@bigorat said in TypeError: Result of expression 'VAR_HOST' [undefined] is not an object.:
@kuzkuz said in TypeError: Result of expression 'VAR_HOST' [undefined] is not an object.:
А я проверил. Если выполнить этот код - ошибки нет. Так что Вы не правы )
После split ошибки и не будет, а вот в переменной и её как таковой тоже не будет, так что я прав, у вас не совпадает шаблон разделителя :)
Да. Я не прав. Вы правы!
Буду выводить [[URL]] в лог. А как пофиксить ошибку? ну т.е. чтобы скрипт не останавливалсяif ( [[URL]] ... что то там ) { [[HOST]] = [[URL]].split("/")[2] [[HOST]] = [[HOST]].toLowerCase() } else { [[HOST]] = [[URL]] } -
@bigorat said in TypeError: Result of expression 'VAR_HOST' [undefined] is not an object.:
@kuzkuz ну как я выше и писал к примеру if ( typeof 'VAR_HOST' == "undefined") { VAR_HOST = "" }, так переменная будет существовать с пустым значением и уже не undefined
Не достаточно. Она определена, но кривая (не подходит под сплит)
Сделал такif ([[URL]].indexOf("/") >= 2) { [[HOST]] = [[URL]].split("/")[2] [[HOST]] = [[HOST]].toLowerCase() }но не пашет. странно. первая строка кода не видит что в URL есть //
если в [[URL]] задать например "не_определено" и делать такую же проверку на вхождение символа "е" то все корректно -
@GameBot said in TypeError: Result of expression 'VAR_HOST' [undefined] is not an object.:
@kuzkuz indexOf не проверяет индекс вхождения символа, а не их количество.
if ([[URL]].indexOf("//") >= 1) {тоже не пашет. а написали вы конечно загадкой
-
@kuzkuz said in TypeError: Result of expression 'VAR_HOST' [undefined] is not an object.:
@GhostZ спасибо. Поясните плз в чем заключается такая проверка?
Вам вначале нужно проверить содержит ли строка два символа /
И только при удачной проверке разбивать строку. Иначе будет ошибка при переводе строки в нижний регистр -
@UserTrue said in TypeError: Result of expression 'VAR_HOST' [undefined] is not an object.:
@kuzkuz Так наверное будет работать для любой ссылки
[[HOST]] = [[URL]].replace(/^[\w:]*\/\/?/, '').split('/')[0]10 спасибо. завтра проверю
на php давно бы запрогал, а тут проблемы возникли -
@kuzkuz said in TypeError: Result of expression 'VAR_HOST' [undefined] is not an object.:
@GameBot логику то понимаю , я строку не понял
[[URL]].split("/").length > 2значит тут length проверяет не длинну, а количество. хотя не.. запутка короче, но работает
Split возвращает массив элементов и для него length - это количество элементов
