Удалить все правила CSS - PullRequest
       24

Удалить все правила CSS

8 голосов
/ 05 сентября 2010

Есть ли способ стереть все правила CSS после загрузки таблиц стилей?

Мне нужно использовать проприетарную библиотеку JavaScript ( ArcGIS Server API ESRI ), которая построенана вершине додзёЯ широко использую виджеты Dojo и хотел бы использовать кларо-тему Dojo, но, к сожалению, библиотека ESRI загружает CSS, загружая сторонние CSS-файлы (и, вероятно, правила CSS, жестко запрограммированные в JS).Это в конечном итоге искажает тему Claro.

Так много классов CSS виджетов Dojo переписано и созданы новые правила , которые просто стирают весь CSS и перезагружают стандартные таблицы стилей Dojo, кажутся проще / безопаснее.

Что-то вродебыло бы неплохо следующее:

* {none}

но я полагаю, что для этого мне придется использовать либо Dojo, либо jQuery.

Ответы [ 3 ]

6 голосов
/ 05 сентября 2010

посмотрите этот букмарклет под названием RefreshCSS от Paul Irish:

javascript:(function(){var h,a,f;a=document.getElementsByTagName('link');for(h=0;h<a.length;h++){f=a[h];if(f.rel.toLowerCase().match(/stylesheet/)&&f.href){var g=f.href.replace(/(&|%5C?)forceReload=\d+/,'');f.href=g+(g.match(/\?/)?'&':'?')+'forceReload='+(new Date().valueOf())}}})()

Он обновляет таблицы стилей CSS на странице, не обновляя саму страницу.

Я думаю, вы могли бы внести в него некоторые изменения и заставить его делать то, что вы хотите?

Другой подход, использующий jQuery, который может сработать, - запустить его после загрузки страницы:

$('head link, head style').remove();

4 голосов
/ 05 сентября 2010

Неа.К сожалению, такой вещи не существует.

Ответы на эти связанные вопросы в значительной степени дают краткое изложение того, что возможно с точки зрения обходных путей.

0 голосов
/ 27 августа 2016

Всегда есть document.head.innerHTML = ""; Но он действительно очищает дом, поэтому вам нужно хранить любые сценарии, метатеги, заголовки или все, что вы хотите сохранить, и добавлять их снова.

...