すべてのCSSルールを削除します
-
30-09-2019 - |
質問
スタイルシートが既にロードされたら、すべてのCSSルールを一掃する方法はありますか?
独自のJavaScriptライブラリを使用する必要があります(ESRIのArcGisサーバーAPI)Dojoの上に構築されています。 Dojoのウィジェットを広く使用しており、DojoのClaroテーマを使用したいと考えていますが、残念ながらESRIライブラリは、オフサイトCSSファイル(おそらくJSでハードコーディングされたCSSルール)にロードすることでCSSを鳴らします。これは、クラロのテーマを操作することになります。
非常に多くのDojoウィジェットCSSクラスが書き直されます そして、新しいルールが作成されます すべてのCSSを拭き取り、標準のDojoスタイルシートをリロードするだけで、より簡単/安全に思えます。
次のようなものはいいでしょう:
* {none}
しかし、私はこれを達成するためにDojoまたはJqueryのいずれかを使用することになる必要があると思います。
解決
Paul IrishのRefreasCSSと呼ばれるこのブックマークレットをチェックしてください:
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();
他のヒント
いいえ。悲しいことに、そのようなことは存在しません。
これらの関連する質問に対する答えは、回避策の観点から何が可能かについてほぼ概要を示しています。
いつもあります document.head.innerHTML = "";
しかし、それ 本当 家を掃除して、スクリプト、メタタグ、タイトル、または保存したいものは何でも保管して再度追加する必要があります。