людям кто так же столкнётся -> https://community.bablosoft.com/topic/4450/websocket-на-node-js
Проблема с исполнением кода JS
-
@NikitaKireev Из браузера нельзя изменять переменные БАС, можно только передать в него значения переменных БАС.
-
@UserTrue Спасибо за ответ, я еще пытался с alert экспериментировать и console.log. Ни один из методов не срабатывает. Если делать явные ошибки в синтаксисе - тоже никаких сообщений об ошибках, будто код вообще не исполняется.
-
@NikitaKireev Ну alert разумеется не сработает, а все остальное работает. Вот пример
1.xml
-
@UserTrue я думал, что это поле как бы встраивает javascript внутрь страницы, а не является его урезанной версией. У меня есть javascript, выполняющийся в tempermonkey. Обычный js. Мне ответил автор в комментариях youtube, что я могу исполнить код через данную опцию, а получается так, что одно он может, другое не может и вносятся неаонятные ограничения вплоть до невозможности воспользоваться базовыми функциями javascript. Код, естественно, мой не работает. В нем нет алертов. Самое главное, что bas не выводит никаких сообщений об ошибках и непонятно как производить отладку, чтобы понять сработало ли хоть что-нибудь.
-
@NikitaKireev Нету ни каких граничений, помимо js при загрузке страница, можно также выполнить свой js в любое время на странице. Скорей всего ваш код плохо написан, тк бас преобразуют его в одну строку и если не везде стоят ; то код может стать не валидным
-
@UserTrue понял, спасибо за ответ. Отсутствие сообщений об ошибках сделает отладку сложным занятием, надеюсь в будущем появится вывод результата работы скрипты в лог. Последний вопрос, могу ли я в обход bas оттестировать скрипт где-нибудь, чтобы была такая же строгость к синтаксису? Tampermonkey действительно нечувствителен к наличию или отсутствию ";". Вопросы, конечно, новичковские. Я на JavaScript не пишу, поэтому и вопросы соответствующие уровню)
-
@NikitaKireev откройте сайт и пишите код через F12 - Console, а потом переносите в BAS
-
@Oyasumi-Punpun В браузерной консоли может работать, а через бас нет. Из-за причины описанной выше.
-
Например вот плохой код, который так-то работает
function hi(){ console.log('hi'); } (1==2)Но в БАС он вставится как
function hi(){console.log('hi');} (1==2)А это уже ошибка так получается, что мы пытаемся вызвать функцию "на месте"
Вот кстати его уже имеет смысл закинуть в консоль и поймать ошибки
-
-
@NikitaKireev said in Проблема с исполнением кода JS:
@UserTrue Тема закрыта, спасибо большое за помощь. Особенность с строчной интерпретацией кода и связанными с этими ошибками уяснил. Большое спасибо!
https://community.bablosoft.com/topic/949/часто-задаваемые-вопросы/2
"Если JavaScript код выполняется в браузере, но не выполняется в BAS"
https://community.bablosoft.com/topic/4718/консоль/6