Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Изменение css через js (https://javascript.ru/forum/css-html-browser/84464-izmenenie-css-cherez-js.html)

AdmiralSFF 18.09.2022 06:46

Изменение css через js
 
Добрый день, уважаемый форум.
В общем использую на своем пк утилиту user css, и динамически меняю себе css в хроме. Очень долго мечтал о подобном на ios и тут узнал про то что на айфоне можно запускать скрипты в сафари, подскажите пожалуйста как написать вообще скрипт на изменение 2ух строчек?(
.hidden, .hidden.button {
display: contents;
}

рони 18.09.2022 09:15

AdmiralSFF,
http://javascript.ru/forum/jquery/77...evdoklass.html

https://javascript.ru/forum/showthre...827#post534817

https://developer.mozilla.org/en-US/...eet/insertRule

Aetae 18.09.2022 13:34

Самый быстрый способ:
document.head.insertAdjacentHTML('beforeend', `<style>

.hidden, .hidden.button {
  display: contents;
}

</style>`);


У себя в юзерскриптах использую такую общую функцию:
function _tm_css(css, important) {
  // автоматическое поставление !important каждому правилу
  if (important) {
    css = css.replace(/(?=[^\n\S]*;[^\n\S]*\n|[^\n\S]*\n[^\n\S]*\})/g, ' !important');
  }
  
  // выбор на случай если вставляется слишком рано и ещё нет body\head
  (document.body || document.head || document.documentElement) 
    .insertAdjacentHTML('beforeend', `<style is="tm_css">${css}</style>`);
}

AdmiralSFF 19.09.2022 04:36

Спасибо за помощь, к сожалению не заработало, может я просто не понимаю как это правильно должно работать а может с ios какие то косяки, но я пытался.


Часовой пояс GMT +3, время: 21:46.