Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,838
Записей в блоге: 4

Как JS воздействует на модули сайта?

11.06.2021, 22:51. Показов 2594. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Присматриваюсь к этому языку. Объясню смысл вопроса.
Хочу понять как JS нажимает на кнопки, которые есть на сайте, переходит по ссылкам и т.д.? С++ к примеру может управлять клавишами и дойти до нужной кнопки если посчитать количество переходов, может и мышкой водить, может и сообщение послать окну (он может и находить окна и создавать и разрушать), в принципе это может сделать и JS. Я так понимаю что JS кликает на кнопки невидимыми руками или как? Как сайт понимает что нужно выполнить действие скрипта? Я так понимаю что так может делать JS или подобный, послать такую команду окну на сайте средствами с++ невозможно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.06.2021, 22:51
Ответы с готовыми решениями:

Как менять контент, модули и другие части сайта
Здравствуйте, простите за тупой вопрос, решил попользоваться этой CMS первый раз, для теста и вижу, что оно сильно отличается от Jooml-ы. ...

Почему оператор -- не воздействует на long double?
Есть код: std::cout<<setiosflags(std::ios::fixed)<<std::setprecision(0)<<average_value<<std::endl; ...

Модули для сайта
Добрый вечер, форумчане. Проектирую сайт на PHP (мало-мальски с ним знаком). Сайт поделил на модули, то есть те механизмы, с помощью...

43
5 / 5 / 0
Регистрация: 06.01.2021
Сообщений: 17
11.06.2021, 23:24
Почитайте про DOM.
Ваш вопрос довольно обширная тема, тут и «слушатели», и «всплытия» и «погружения».

В двух словах не объяснить. Запрос JS DOM расставит все на свои места
0
 Аватар для klyapa
3503 / 1267 / 429
Регистрация: 24.07.2016
Сообщений: 1,890
11.06.2021, 23:26
Цитата Сообщение от Nexi99 Посмотреть сообщение
Как JS воздействует на модули сайта?
Никак. javascript выполняется в бровзере на стороне клиента.
Цитата Сообщение от Nexi99 Посмотреть сообщение
Как сайт понимает что нужно выполнить действие скрипта?
Интерпретатор бровзера ищет в html документе тег script и выполняет инструкции(код), прописанные "вживую" в контейнере script, или подключенные извне.
PHP/HTML
1
2
3
4
5
<script type="text/javascript" src="path/template.js"></script>
 
<script>
    alert('Привет кодер!');
</script>
Цитата Сообщение от Nexi99 Посмотреть сообщение
Хочу понять как JS нажимает на кнопки, которые есть на сайте, переходит по ссылкам и т.д.?
Учебник JavaScript для новичков
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,838
Записей в блоге: 4
12.06.2021, 00:20  [ТС]
Цитата Сообщение от klyapa Посмотреть сообщение
Интерпретатор бровзера ищет в html документе тег script
ну найдёт он этот Тэг и что дальше, выполнит инструкцию клика по кнопке, т.е. как я писал выше клик на кнопку невидимыми руками?
И это может сделать только JS, с++ это не сделает?
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
12.06.2021, 00:34
Цитата Сообщение от Nexi99 Посмотреть сообщение
клик на кнопку невидимыми руками
Точнее руками Web API. Сам по себе JS этого делать не умеет.
Цитата Сообщение от Nexi99 Посмотреть сообщение
с++ это не сделает?
Делает. Например, реализация JS - v8 - как раз сделана на С++. Точнее, на torque (разработчики ввели его для удобства), но который потом все равно компилируется в C++.
1
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,838
Записей в блоге: 4
12.06.2021, 00:57  [ТС]
Цитата Сообщение от Tavashi Посмотреть сообщение
Делает. Например, реализация JS - v8 - как раз сделана на С++. Точнее, на torque (разработчики ввели его для удобства), но который потом все равно компилируется в C++.
Ну я читал что эта штука на си написана но там всё равно придётся подключаться к скрипту. Там вроде делаешь dll и подключаешь к скрипту, если я ничего не перепутал.
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
12.06.2021, 01:00
Если интересуют внутренности, то можете посмотреть в сорсы.
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
15.06.2021, 05:42
Если движок браузера написан на C±+, для каждого элемента ( кнопки, ссылки, скрипта ) или группы элементов страницы, окна и самого браузера создаётся объект C++. Когда пользователь взаимодействует со страницей, браузер обращается к методам этих объектов.
Например, когда пользователь щёлкает по ссылке, из обработчика события от мыши может выполняться примерно такой код:
C++
1
Link->Window()-Navigate( Link->Url() );
Но эти же методы можно вызывать и без участия пользователя.
Например, в системе автоматического тестирования сайтов на разных браузерных движках.

Если движок написан на каких-то других языках, для работы с ним на C++ всё равно можно использовать API ( библиотеку классов ), который разработали для этого авторы движка.
1
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,838
Записей в блоге: 4
15.06.2021, 05:59  [ТС]
Цитата Сообщение от politoto Посмотреть сообщение
Если движок браузера написан на C±+, для каждого элемента ( кнопки, ссылки, скрипта ) или группы элементов страницы, окна и самого браузера создаётся объект C++. Когда пользователь взаимодействует со страницей, браузер обращается к методам этих объектов.
Например, когда пользователь щёлкает по ссылке, из обработчика события от мыши может выполняться примерно такой код:
Ну если взаимодействовать с этим API можно то это хорошо.Мне вот что-то посоветовали Например, реализация JS - v8 ещё физически не скоро доберусь. Но видимо это возможно. Ведь как никак с++ создаёт оконные приложения это я уже очень хорошо понял.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
15.06.2021, 11:45
Цитата Сообщение от Nexi99 Посмотреть сообщение
Хочу понять как JS
для начала запомните, что JS работает на странице ( где и находятся кнопки и ссылки), а сайт -- это обычно несколько страниц и файлов, путать два этих понятия не надо

что касается событий (клик по кнопке, нажатие на клавишу и прочее), то у всякого события есть внутреннее read-only свойство isTrusted, кое принимает значение true, если событие произведено пользователем, и false, если оно программное
когда вы мышью кликаете по кнопке, isTrusted = true и браузер показывает процесс "вдавливания" кнопки с последующим её "выдавливанием", а при программном клике button.click () ничего такого браузер не демонстрирует, ибо isTrusted = false

и да, работать с html-элементами страницы может только JS, который внедрён в эту страницу, когда она загружена в браузер, всякие прочие PHP и СИ доступа к элементам страницы не имеют, ибо всегда находятся на сервере
1
123 / 98 / 15
Регистрация: 02.02.2014
Сообщений: 346
15.06.2021, 12:47
Цитата Сообщение от Nexi99 Посмотреть сообщение
С++ к примеру может управлять клавишами и дойти до нужной кнопки если посчитать количество переходов, может и мышкой водить, может и сообщение послать окн
тут путать не надо. C++ это C++. в своей области он всемогущ. потому что он один. в случае с браузером - JS это всего лишь исполнитель. у него много ограничений, для безопасности. Например - курсором он водить не сможет, но может определить координаты курсора, либо кликнуть по нужному элементу, элементу в области.

js - в случае с браузером используется только для работы шаблона и взаимодействия с сервером.
Но js используется не только в браузерах. на нем можно строить независимые приложения. тут я не в теме, но вполне может быть , что там ограничения существенно меньше
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,838
Записей в блоге: 4
15.06.2021, 15:23  [ТС]
Цитата Сообщение от evil_pixi Посмотреть сообщение
js - в случае с браузером используется только для работы шаблона и взаимодействия с сервером.
Но js используется не только в браузерах. на нем можно строить независимые приложения. тут я не в теме, но вполне может быть , что там ограничения существенно меньше
Ну это специальная оболочка подоболочка вид подвид, и видимо его специально собирали для работы с формами и шаблонами. Вот я и спрашиваю про это. В с++ хорошо понимаю думаю как связать его со JS. Чаще всего пишут что это реализовывается через dll, которая должна быть подключен к скрипту, т.е. нет прямого взаимодействия. Честно говоря я не знаю случаев прямого взаимодействия с++ на JS и это напрягает.
0
123 / 98 / 15
Регистрация: 02.02.2014
Сообщений: 346
15.06.2021, 17:24
я не шарю в си++. максимум что могу предложить - headless браузеры под него
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
15.06.2021, 18:06
Подождите...
JS язык интерпретируемый. C++ - компилируемый. Если речь идёт о браузерном JS, то, например, Google Chrome написан на плюсах. И его интерпретатор соответственно тоже.
То, что вы пишете на JS интерпретируется интерпретатором на C++, который в свою очередь уже и выполняет скрипт, делая такие вещи, как:
Цитата Сообщение от Nexi99 Посмотреть сообщение
нажимает на кнопки, которые есть на сайте, переходит по ссылкам и т.д.
Как именно интерпретировать скрипты и все ограничения безопасности прописаны в спецификации к языку.

Добавлено через 2 минуты
Конечно уже есть среды, в которых можно скомпилировать JS в машинный код, но ведь речь идёт о браузерном JS?
0
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,838
Записей в блоге: 4
15.06.2021, 20:12  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Конечно уже есть среды, в которых можно скомпилировать JS в машинный код
ну вот с такими средами и нужно взаимодействовать, они будут выполнять роль API по отношению к
Цитата Сообщение от Balanaar Посмотреть сообщение
спецификации к языку
JS. Ну в любом случае если объединить 2 языка то это возможно взаимодействие с с++. JS может прочитать cкрипт сайта а с++ может посылать команды чтобы взаимодействовать с той или иной кнопкой. Можно даже скрипт передать в с++, при нажатии F12 мы уже получаем скрипт правда его сканировать нужно, тут и приходит на помощь JS ну а дальше обменивайся командами, но как ни крути 2 языка мешать конечно трохи тяжко.
Короче да JS всё же нужно знать а там смотреть. Спасибо за советы и информацию. Но если будут советовать оболочки которые могут реализовывать сишный код в JS, то я от таких не откажусь буду изучать по тиху.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
15.06.2021, 22:58
Цитата Сообщение от Nexi99 Посмотреть сообщение
Ну в любом случае если объединить 2 языка то это возможно взаимодействие с с++
учтите только при объединении, что JS работает в браузере в компе у Васи Пупкина в городе Черножопинске, а СИ -- на сервере где-то в Калифорнии... и флаг вам в обе руки

Добавлено через 55 минут
Цитата Сообщение от Balanaar Посмотреть сообщение
То, что вы пишете на JS интерпретируется интерпретатором на C++, который в свою очередь уже и выполняет скрипт
ни разу не так -- написанный на СИ интерпретатор JS изначально скомпилирован в машинный код и никакие новые инструкции на СИ эта программа выполнять не будет
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
15.06.2021, 23:00
kalabuni, я и не говорил, что JS интерпретируется в инструкции C++
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
15.06.2021, 23:26
Цитата Сообщение от Balanaar Посмотреть сообщение
я и не говорил, что JS интерпретируется в инструкции C++
но топик-стартер именно об этом и грезит, а ваше замечание никак не разъясняло ему бредовость его мечтаний
0
409 / 162 / 32
Регистрация: 26.11.2019
Сообщений: 434
16.06.2021, 09:37
Nexi99, может поможет
0
16.06.2021, 10:14

Не по теме:

Цитата Сообщение от Nexi99 Посмотреть сообщение
В с++ хорошо понимаю
Написал человек, который жалуется, что 3 месяца (ТРИ МЕСЯЦА, КАРЛ!!!) не может разобраться, как на WinAPI найти окно и посылает проклятия майкрософту.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2021, 10:14
Помогаю со студенческими работами здесь

Модули для сайта о футболе
Уважаемые &quot;джумловодцы&quot; подскажите как реализовать в джумле такие задачи : 1. вывод в модуле таблицы результатов чемпионата , которая...

Воздействует ли ультрафиолет на сторону предмета, которая находится в тени
Добрый день! Умные люди, подскажите нам, пожалуйста!) Если в солнечный день на улице поставить куб, то на его сторону, которая находится в...

CMS для сайта переносимого с uCoz + новые модули
Доброго времени суток. Устали от &quot;приятных&quot; подарков uCoz, и борьбы с багами. Решили перенести сайт с данного хостинга, на свою машину. И...

Не отображаются название сайта и модули шаблона - не работает функция getCfg()
Ошибка Fatal error: Call to a member function getCfg() on a non-object in...

"Удаление значений строки определяет строку не уникальным образом или воздействует на несколько строк"
подскажите пожалуйста. появляется такая ошибка обновление или удаление значении строки определяет строку не уникальным образом или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru