Проблема с исполнением кода JS

Поддержка
  • @NikitaKireev Ну alert разумеется не сработает, а все остальное работает. Вот пример
    1.xml

    2020-01-17_014821.png

  • @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)
    

    А это уже ошибка так получается, что мы пытаемся вызвать функцию "на месте"

    Вот кстати его уже имеет смысл закинуть в консоль и поймать ошибки

  • @UserTrue если я пропишу в консоль просто console.log('hi'); должно ли у меня в бас что-то вывестись в консоль? Я просто указывал, что у меня и эта функция не работает. Что с точкой с запятой, что без нее лог пустой.

  • @NikitaKireev

    console.log('hi');
    

    Никуда кроме консоли браузера не выведет

  • @UserTrue Тема закрыта, спасибо большое за помощь. Особенность с строчной интерпретацией кода и связанными с этими ошибками уяснил. Большое спасибо!

  • @NikitaKireev said in Проблема с исполнением кода JS:

    @UserTrue Тема закрыта, спасибо большое за помощь. Особенность с строчной интерпретацией кода и связанными с этими ошибками уяснил. Большое спасибо!

    https://community.bablosoft.com/topic/949/часто-задаваемые-вопросы/2

    "Если JavaScript код выполняется в браузере, но не выполняется в BAS"
    https://community.bablosoft.com/topic/4718/консоль/6