8

スタイルシートがすでにロードされたら、すべてのCSSルールを一掃する方法はありますか?

Dojo上に構築された独自のJavaScriptライブラリ(ESRIのArcGIS Server API )を使用する必要があります。私はDojoのウィジェットを多用しており、Dojoのclaroテーマを使用したいのですが、残念ながらESRIライブラリはオフサイトのCSSファイル(およびおそらくJSにハードコーディングされたCSSルール)をロードすることでCSSを混乱させます。これは、Claroテーマをマングリングすることになります。

非常に多くのDojoウィジェットCSSクラスが書き直され、新しいルールが作成されるため、すべてのCSSを消去して、標準のDojoスタイルシートを再ロードする方が簡単/安全に思えます。

次のようなものがいいでしょう:

* {none}

しかし、これを実現するには、DojoまたはjQueryのいずれかを使用する必要があると思います。

4

3 に答える 3

6

PaulIrishによるRefreshCSSと呼ばれるこのブックマークレットをチェックしてください。

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();

于 2010-09-04T21:19:49.517 に答える
4

いいえ。悲しいことに、そのようなものは存在しません。

これらの関連する質問への回答は、回避策の観点から可能なことの概要を示しています。

于 2010-09-04T21:13:55.727 に答える
0

常にありますがdocument.head.innerHTML = "";、それは本当に家をきれいにするので、スクリプト、メタタグ、タイトル、または保存したいものをすべて保存して、それらを再度追加する必要があります。

于 2016-08-27T12:53:33.920 に答える