• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IEでCSSを動的に切り替える方法)

IEでCSSを動的に切り替える方法

このQ&Aのポイント
  • IEで画面をリロードすることなくCSSを再読込して適用させる方法を教えてください。
  • AjaxでPOSTして、戻ってきたページ全体のHTMLを使ってページ全体を上書き更新したいです。IE(6,7,8)ではCSSが不完全に適用されることがあります。
  • IEでCSSの動的切り替えに対応する方法を探しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> それはPOSTすることで画面の表示位置をずらしたくないためです。 ieはhtmlのレンダリングにおいて、firefoxなどから比べて、安定感がまったくありません。 CSSが不完全に適用されている。というのがレンダリングの問題なのか、 スクリプト側の問題なのかは分かりかねますが、 ieでfirefox並の静かなページ書き換えを実現しようとするのはそれなりにハイレベルな要求だと思われます。 最悪、不可能な領域に近いです。 firefoxの様な表示の仕方に近づけるのは難しいので、 ローディング画像を表示させておいて、 画面の構築が完了してからdisplay:block;で表示させるとかの方法では駄目なのでしょうか。

gogoyamada
質問者

お礼

教えて頂きましてありがとうございます。 無理そうだということがわかっただけでも助かります。 かなり時間もかかりそうですので、今回はおっしゃるようにローディング画像で対応します。ありがとうございました。

その他の回答 (2)

回答No.2

連続失礼。 >No.1 >以下蛇足。 「CSSファイル」を更新したときの確認用なので、HTMLに直接記入したものは関係ないですね。 やっぱり蛇足でした。すみません。

回答No.1

document.createStyleSheet()を使って追加してみてはどうでしょうか。 stylesheetは後から記述した物が有効になりますので、そのまま追加しても問題なくプロパティ(セレクタ)が上書きされていくと思いますが、 古いスタイルシート(link要素)がゴミになるので、removeChildなどで削除しておくと良いかもしれません。 以下蛇足。 参考サイトの方法は<style>要素やインラインスタイルシートに対応してなさそうな、、、 あまり使われなくなってきてますけどね。。。 >AjaxでPOSTして、戻ってきたページ全体のHTMLを使ってページ全体を上書き更新したい。 これとCSSの更新は関係ないと思いますが、、、

gogoyamada
質問者

お礼

早速教えて頂きましてありがとうございます。 試してみたのですが、だめみたいでした。。 なぜかCSSの背景画像部分が消えてしまったりするんですよね。。もうちょっと試してみたいと思います 。ありがとうございます。

関連するQ&A