Как JS воздействует на модули сайта?11.06.2021, 22:51. Показов 2594. Ответов 43
Метки нет (Все метки)
Присматриваюсь к этому языку. Объясню смысл вопроса.
Хочу понять как JS нажимает на кнопки, которые есть на сайте, переходит по ссылкам и т.д.? С++ к примеру может управлять клавишами и дойти до нужной кнопки если посчитать количество переходов, может и мышкой водить, может и сообщение послать окну (он может и находить окна и создавать и разрушать), в принципе это может сделать и JS. Я так понимаю что JS кликает на кнопки невидимыми руками или как? Как сайт понимает что нужно выполнить действие скрипта? Я так понимаю что так может делать JS или подобный, послать такую команду окну на сайте средствами с++ невозможно?
0
|
|
| 11.06.2021, 22:51 | |
|
Ответы с готовыми решениями:
43
Как менять контент, модули и другие части сайта Почему оператор -- не воздействует на long double? Модули для сайта |
|
5 / 5 / 0
Регистрация: 06.01.2021
Сообщений: 17
|
|
| 11.06.2021, 23:24 | |
|
Почитайте про DOM.
Ваш вопрос довольно обширная тема, тут и «слушатели», и «всплытия» и «погружения». В двух словах не объяснить. Запрос JS DOM расставит все на свои места
0
|
|
|
3503 / 1267 / 429
Регистрация: 24.07.2016
Сообщений: 1,890
|
|||||||||
| 11.06.2021, 23:26 | |||||||||
script и выполняет инструкции(код), прописанные "вживую" в контейнере script, или подключенные извне.
0
|
|||||||||
| 12.06.2021, 00:20 [ТС] | ||
|
И это может сделать только JS, с++ это не сделает?
0
|
||
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
|||
| 12.06.2021, 00:34 | |||
Web API. Сам по себе JS этого делать не умеет.v8 - как раз сделана на С++. Точнее, на torque (разработчики ввели его для удобства), но который потом все равно компилируется в C++.
1
|
|||
|
Модератор
|
||||||
| 15.06.2021, 05:42 | ||||||
|
Если движок браузера написан на C±+, для каждого элемента ( кнопки, ссылки, скрипта ) или группы элементов страницы, окна и самого браузера создаётся объект C++. Когда пользователь взаимодействует со страницей, браузер обращается к методам этих объектов.
Например, когда пользователь щёлкает по ссылке, из обработчика события от мыши может выполняться примерно такой код:
Например, в системе автоматического тестирования сайтов на разных браузерных движках. Если движок написан на каких-то других языках, для работы с ним на C++ всё равно можно использовать API ( библиотеку классов ), который разработали для этого авторы движка.
1
|
||||||
| 15.06.2021, 05:59 [ТС] | ||
Например, реализация JS - v8 ещё физически не скоро доберусь. Но видимо это возможно. Ведь как никак с++ создаёт оконные приложения это я уже очень хорошо понял.
0
|
||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 15.06.2021, 11:45 | ||
|
что касается событий (клик по кнопке, нажатие на клавишу и прочее), то у всякого события есть внутреннее 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 | ||
|
js - в случае с браузером используется только для работы шаблона и взаимодействия с сервером. Но js используется не только в браузерах. на нем можно строить независимые приложения. тут я не в теме, но вполне может быть , что там ограничения существенно меньше
0
|
||
| 15.06.2021, 15:23 [ТС] | ||
|
0
|
||
|
123 / 98 / 15
Регистрация: 02.02.2014
Сообщений: 346
|
|
| 15.06.2021, 17:24 | |
|
я не шарю в си++. максимум что могу предложить - headless браузеры под него
0
|
|
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
||
| 15.06.2021, 18:06 | ||
|
Подождите...
JS язык интерпретируемый. C++ - компилируемый. Если речь идёт о браузерном JS, то, например, Google Chrome написан на плюсах. И его интерпретатор соответственно тоже. То, что вы пишете на JS интерпретируется интерпретатором на C++, который в свою очередь уже и выполняет скрипт, делая такие вещи, как: Добавлено через 2 минуты Конечно уже есть среды, в которых можно скомпилировать JS в машинный код, но ведь речь идёт о браузерном JS?
0
|
||
| 15.06.2021, 20:12 [ТС] | |||
|
Короче да JS всё же нужно знать а там смотреть. Спасибо за советы и информацию. Но если будут советовать оболочки которые могут реализовывать сишный код в JS, то я от таких не откажусь буду изучать по тиху.
0
|
|||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|||
| 15.06.2021, 22:58 | |||
|
Добавлено через 55 минут
0
|
|||
|
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
|
|
| 15.06.2021, 23:00 | |
|
kalabuni, я и не говорил, что JS интерпретируется в инструкции C++
0
|
|
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||
| 15.06.2021, 23:26 | ||
|
0
|
||
|
409 / 162 / 32
Регистрация: 26.11.2019
Сообщений: 434
|
|
| 16.06.2021, 09:37 | |
|
Nexi99, может поможет
0
|
|
| 16.06.2021, 10:14 | |
|
0
|
|
| 16.06.2021, 10:14 | |
|
Помогаю со студенческими работами здесь
20
Модули для сайта о футболе
CMS для сайта переносимого с uCoz + новые модули Не отображаются название сайта и модули шаблона - не работает функция getCfg() "Удаление значений строки определяет строку не уникальным образом или воздействует на несколько строк" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Настройки 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.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|