|
0 / 0 / 0
Регистрация: 31.07.2015
Сообщений: 42
|
|||||||||||
Удаления блока стилей из тела страницы06.04.2018, 02:21. Показов 2228. Ответов 15
Метки нет (Все метки)
Добрый день, дорогие форумчане, может и вечер для кого)
Прошу помощи в вопросе, возникла необходимость на стороне клиента который просматривает сайт выполнять скрипт который сканирует тело страницы на наличие определенного значения в блоке <style>...</style> и при совпадении удаляет полностью данный блок из тела. Пока что дошел лишь до такого кода Кликните здесь для просмотра всего текста
Вопрос в том, можно ли сделать функцию например такого типа Кликните здесь для просмотра всего текста
дабы проверить все блоки <style>...</style> даже если их более 3х, будет ли это кроссбраузерно, и не проще ли просто продублировать if - ы до 10 шт, что бы было с запасом? Или возможно есть более простой способ удалить блок из тела страницы который содержит данный текст? И такой еще вопрос какой таймаут лучше поставить на реплейс дабы не нагружать сильно комп клиента, но и что бы стили удалялись практически незаметно для клиента в процессе загрузки стараницы?
0
|
|||||||||||
| 06.04.2018, 02:21 | |
|
Ответы с готовыми решениями:
15
Изменение стилей блока при нажатии на кнопку Плавное изменение стилей для блока Изменение стилей блока при нажатии на кнопку |
|
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
|
|||||||||||
| 06.04.2018, 06:31 | |||||||||||
Сообщение было отмечено Terk как решение
Решение
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 31.07.2015
Сообщений: 42
|
|||||||||||
| 06.04.2018, 11:17 [ТС] | |||||||||||
|
Огромное спасибо) А если не сложно вы можете раскомментировать код, хотелось бы понимать что к чему.
Добавлено через 1 час 14 минут Гм.. а такой вопрос еще к знающим, возможно ли не очищать блок стилей, и изменить искомое значение? т.е сделать например z-index: 0 !important; ?? Или найти
0
|
|||||||||||
|
|
|||||||||||
| 06.04.2018, 12:06 | |||||||||||
|
Terk, доступ к коллекции стилей можно получить с помощью
document.styleSheets. Если надо искать правило стиля по точному значению, как в твоем примере, то можно сделать это так
document.styleSheets[0] надо обойти коллекцию в цикле. Далее с переменной rule можно работать так
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 31.07.2015
Сообщений: 42
|
||||||
| 06.04.2018, 12:50 [ТС] | ||||||
|
diadiavova, мм, при копипасте данного кода в консоль выдается ошибка
0
|
||||||
|
|
||||||
| 06.04.2018, 12:57 | ||||||
|
Terk, ты в заголовке темы указал, что тебе надо удалить правило. Я приведу пример как раз с поиском и удалением правила.
1
|
||||||
|
0 / 0 / 0
Регистрация: 31.07.2015
Сообщений: 42
|
|
| 06.04.2018, 13:19 [ТС] | |
|
diadiavova, гм.. все равно не работает, большое спасибо за участие, но лучше наверно будет создать новую тему?) поскольку ответ на вопрос заданный изначально вопрос дали во втором сообщении.
0
|
|
|
|
||
| 06.04.2018, 13:30 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 31.07.2015
Сообщений: 42
|
||||||||||||||||
| 06.04.2018, 13:56 [ТС] | ||||||||||||||||
|
diadiavova, хром, извиняюсь, нашел свой косяк.
0
|
||||||||||||||||
|
|
||||||||
| 06.04.2018, 14:06 | ||||||||
1
|
||||||||
|
0 / 0 / 0
Регистрация: 31.07.2015
Сообщений: 42
|
||||||||||||
| 06.04.2018, 14:33 [ТС] | ||||||||||||
|
diadiavova,
Если не сложно проясните пожалуйста код
тогда как например при поиске по атрибуту position все работает отлично
0
|
||||||||||||
|
|
||||||||
| 06.04.2018, 14:43 | ||||||||
0
|
||||||||
|
0 / 0 / 0
Регистрация: 31.07.2015
Сообщений: 42
|
||||||
| 06.04.2018, 14:47 [ТС] | ||||||
|
diadiavova, Так в том то и дело что я указывал именно число, т.е код
0
|
||||||
|
|
|||||||
| 06.04.2018, 14:58 | |||||||
|
Terk, когда ты пытаешься менять значения свойств, то искать индекс нет надобности. Индекс нужен для удаления.
Добавлено через 25 секунд Добавлено через 7 минут Terk, вот добавил кода в страничку. У меня то правило где есть зиндекс также содержит цвет и при нажатии на кнопку set red сначала правило находится по зиндексу, а потом в этом правиле меняется цвет(для наглядности)
Terk, я надеюсь, что ты в курсе, что изменение свойства top не при всех значениях position будет иметь эффект?
1
|
|||||||
|
0 / 0 / 0
Регистрация: 31.07.2015
Сообщений: 42
|
||||||
| 06.04.2018, 23:58 [ТС] | ||||||
|
diadiavova, боже, я идиот чес слово, при редактировании вашего кода я изменил стиль red добавил туда свойства position, top, и пр. однако из стилей sss z-index я не удалил, по этой причине у меня и не работал код...
Спасибо вам за подробное объяснение) И за терпеливость) Добавлено через 7 часов 19 минут diadiavova, если не сложно оцените пожалуйста код, и скажите насколько корректен данный код?
Гм, не работает в лисичке..
0
|
||||||
|
|
||||||||
| 07.04.2018, 01:23 | ||||||||
|
Насчет необходимости блока трай-кэтч сказать не могу, если возникают непредвиденные ошибки, из-за которых выполнение обрывается, то надо, но в любом случае блок кэтч оставлять пустым не стоит. Надо вывести инфу в консоль, иначе не будешь знать из-за чего проблема, если она возникнет. Оставлять пустым if - еще более странно. Вместо этого изменить условие на противоположное и else не понадобится. Для чего нужно три восклицательных знака - мне непонятно, хотя, возможно, я чего-то не знаю. Учитывая, что условие лучше поменять на противоположное, логично будет оставить два, но в принципе, в таких ситуациях языковой движок сам приводит результат выражения к булевому типу, так что это там не понадобится. Поиск нужного стиля здесь выполняется дважды, смысла в этом нет, надо выполнить его перед блоком иф. document.getElementsByTagName('html')[0] - вместо этого можно использовать document.documentElement. А вместо этого i=document.styleSheets.length; - break;.В итоге получается что-то вроде такого
Добавлено через 13 минут По поводу лисы. Когда в блок кэтч добавишь логирование, можно будет посмотреть из-за чего. Но тут была такая история: когда на форуме добавили функцию подсветки строк на страницах разделов, меня она сильно раздражала и я написал вот такой скрипт, чтобы от этого избавиться Обсуждение темы Userscripts для форума - О форуме - Страница 5 - Киберфорум, если ты его посмотришь, то заметишь, что он использует те же приемы, что обсуждаются здесь. Но через какое-то время я заметил, что скрипт перестал работать. Начал разбираться и выяснил, что дело в изменениях в политике безопасности. Там то ли стили с другого домена недоступными стали, то ли что-то в этом роде и это именно в лисе. Решил я проблему следующим образом Обсуждение темы Userscripts для форума - О форуме - Страница 6 - Киберфорум. В двух словах: вместо модификации стиля, я добавил в документ новый, в него ввел правило с точно таким же селектором, какой хотел отредактировать и задал ему нужное значение нужного свойства. Поскольку у этого стиля более высокий приоритет, от просто затенил то правило, которое пришло с сервера. Если окажется, что здесь та же проблема, то можно решить ее также.
0
|
||||||||
| 07.04.2018, 01:23 | |
|
Помогаю со студенческими работами здесь
16
Дайте наводку по настройке стилей: блок, висящий внизу другого блока Сделать переключатель стилей страницы
Создание нового блока и удаления старого Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|