Скрипт Tampermonkey не видит элементы теневого корня (открытые), загруженные ajax ⇐ Jquery
Скрипт Tampermonkey не видит элементы теневого корня (открытые), загруженные ajax
Я пытаюсь написать скрипт Tampermonkey в Chrome для веб-сайта, которым постоянно пользуюсь на работе. Я хочу, чтобы скрипт удалял отключенный атрибут на кнопках определенного класса или заголовка. Мне это кажется довольно простой задачей, но я уперся в каменную стену, поскольку сайт довольно активно использует Ajax.
Когда я впервые загружаю веб-сайт, я вижу заголовок, левую боковую панель и главное окно приложения, занимающее остальную часть экрана, пустое.
Только верхний и нижний колонтитулы
Пользователь щелкнет одну из доступных опций в заголовке или боковой панели, и контент загрузится в главное окно приложения через ajax. В главном окне приложения есть заголовок, в котором расположены вкладки, на которых появляются новые вкладки. Я могу переключаться между открытыми и закрытыми вкладками. В основной части окна приложения отображается весь контент, и существует множество различных форматов в зависимости от того, над чем я работаю.
С загруженным основным содержимым приложения
Мне удалось успешно выполнить селектор для кнопок, которые появляются в заголовке и на боковой панели, и отключить/включить их.
РЕДАКТИРОВАТЬ: Сегодня я немного поигрался и понял, что в нескольких местах HTML есть #shadow-root (open), поэтому я начал смотреть, что это такое является. Я не знал, что теневое дерево DOM визуализировалось отдельно от дерева DOM основного документа, пока сегодня не провел небольшое исследование. Это имеет смысл, почему это не запускает мою функцию. Я провел дополнительное тестирование и смог запустить свою функцию на ajax-контенте в главном окне приложения до первого появления #shadow-root (open).
На данный момент это мой сценарий Tampermonkey, для которого требуются JQuery и waitForKeyElements(), которые я нашел в других вопросах о переполнении стека, касающихся содержимого ajax:
// ==Пользовательский скрипт== // @name Включить кнопки // @match my.website.url.org // @require https://code.jquery.com/jquery-3.6.4.min.js // @require https://gist.github.com/raw/2625891/wai ... lements.js // @grant GM_addStyle // @версия 0.1 // ==/Пользовательский скрипт== (функция() { waitForKeyElements('button.btn.ripple.primary',modifyButtons, false); функция ModifyButtons (jNode) { console.log ("Обнаружена кнопка ~~~~~~~~ ~~~~~~~~"); var button = document.querySelectorAll('button.btn.ripple.primary'); for (var i=0; i
Я пытаюсь написать скрипт Tampermonkey в Chrome для веб-сайта, которым постоянно пользуюсь на работе. Я хочу, чтобы скрипт удалял отключенный атрибут на кнопках определенного класса или заголовка. Мне это кажется довольно простой задачей, но я уперся в каменную стену, поскольку сайт довольно активно использует Ajax.
Когда я впервые загружаю веб-сайт, я вижу заголовок, левую боковую панель и главное окно приложения, занимающее остальную часть экрана, пустое.
Только верхний и нижний колонтитулы
Пользователь щелкнет одну из доступных опций в заголовке или боковой панели, и контент загрузится в главное окно приложения через ajax. В главном окне приложения есть заголовок, в котором расположены вкладки, на которых появляются новые вкладки. Я могу переключаться между открытыми и закрытыми вкладками. В основной части окна приложения отображается весь контент, и существует множество различных форматов в зависимости от того, над чем я работаю.
С загруженным основным содержимым приложения
Мне удалось успешно выполнить селектор для кнопок, которые появляются в заголовке и на боковой панели, и отключить/включить их.
РЕДАКТИРОВАТЬ: Сегодня я немного поигрался и понял, что в нескольких местах HTML есть #shadow-root (open), поэтому я начал смотреть, что это такое является. Я не знал, что теневое дерево DOM визуализировалось отдельно от дерева DOM основного документа, пока сегодня не провел небольшое исследование. Это имеет смысл, почему это не запускает мою функцию. Я провел дополнительное тестирование и смог запустить свою функцию на ajax-контенте в главном окне приложения до первого появления #shadow-root (open).
На данный момент это мой сценарий Tampermonkey, для которого требуются JQuery и waitForKeyElements(), которые я нашел в других вопросах о переполнении стека, касающихся содержимого ajax:
// ==Пользовательский скрипт== // @name Включить кнопки // @match my.website.url.org // @require https://code.jquery.com/jquery-3.6.4.min.js // @require https://gist.github.com/raw/2625891/wai ... lements.js // @grant GM_addStyle // @версия 0.1 // ==/Пользовательский скрипт== (функция() { waitForKeyElements('button.btn.ripple.primary',modifyButtons, false); функция ModifyButtons (jNode) { console.log ("Обнаружена кнопка ~~~~~~~~ ~~~~~~~~"); var button = document.querySelectorAll('button.btn.ripple.primary'); for (var i=0; i
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Скрипт Tampermonkey не видит элементы теневого корня (открытые), загруженные ajax
Anonymous » » в форуме Jquery - 0 Ответы
- 60 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Скрипт Tampermonkey не видит элементы теневого корня (открытые), загруженные ajax
Anonymous » » в форуме Jquery - 0 Ответы
- 35 Просмотры
-
Последнее сообщение Anonymous
-