- ベストアンサー
IEでCSSを動的に切り替える方法
- IEで画面をリロードすることなくCSSを再読込して適用させる方法を教えてください。
- AjaxでPOSTして、戻ってきたページ全体のHTMLを使ってページ全体を上書き更新したいです。IE(6,7,8)ではCSSが不完全に適用されることがあります。
- IEでCSSの動的切り替えに対応する方法を探しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> それはPOSTすることで画面の表示位置をずらしたくないためです。 ieはhtmlのレンダリングにおいて、firefoxなどから比べて、安定感がまったくありません。 CSSが不完全に適用されている。というのがレンダリングの問題なのか、 スクリプト側の問題なのかは分かりかねますが、 ieでfirefox並の静かなページ書き換えを実現しようとするのはそれなりにハイレベルな要求だと思われます。 最悪、不可能な領域に近いです。 firefoxの様な表示の仕方に近づけるのは難しいので、 ローディング画像を表示させておいて、 画面の構築が完了してからdisplay:block;で表示させるとかの方法では駄目なのでしょうか。
その他の回答 (2)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
連続失礼。 >No.1 >以下蛇足。 「CSSファイル」を更新したときの確認用なので、HTMLに直接記入したものは関係ないですね。 やっぱり蛇足でした。すみません。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
document.createStyleSheet()を使って追加してみてはどうでしょうか。 stylesheetは後から記述した物が有効になりますので、そのまま追加しても問題なくプロパティ(セレクタ)が上書きされていくと思いますが、 古いスタイルシート(link要素)がゴミになるので、removeChildなどで削除しておくと良いかもしれません。 以下蛇足。 参考サイトの方法は<style>要素やインラインスタイルシートに対応してなさそうな、、、 あまり使われなくなってきてますけどね。。。 >AjaxでPOSTして、戻ってきたページ全体のHTMLを使ってページ全体を上書き更新したい。 これとCSSの更新は関係ないと思いますが、、、
お礼
早速教えて頂きましてありがとうございます。 試してみたのですが、だめみたいでした。。 なぜかCSSの背景画像部分が消えてしまったりするんですよね。。もうちょっと試してみたいと思います 。ありがとうございます。
お礼
教えて頂きましてありがとうございます。 無理そうだということがわかっただけでも助かります。 かなり時間もかかりそうですので、今回はおっしゃるようにローディング画像で対応します。ありがとうございました。