2009-06-01 10 views
0

テーブルの本体を置き換えるために使用するテーブル行をajaxでフェッチしているところに問題があります。テーブルの行にJavaScriptが追加された後にIEがCSSスタイルを失う

IE(6/7)がこのような追加の後にすべてのページスタイルを忘れてしまうことがあることが問題です。私はotherpeopledescribing同じ問題を見つけることができました

(それはそれは、ページの上部に含まれていますが、スタイルは、ページ自体に定義されていないCSSでスタイルを使用してに戻り、言うことではありません)が、ない解決策。誰もこれに遭遇し、それを解決することができましたか?

解決策がページ上のすべてのCSSを外部化することを含まない場合、ボーナスポイント。

答えて

1

体の中にスタイルタグがあることを意味するなら、本当にそこにあるべきではないので、一部のブラウザがそれに悪影響を与えることは驚くことではありません。

テーブル内のすべての行を置換する場合は、代わりにテーブル全体を置換してみてください。テーブルの構造はそれほど変わっていないので、テーブル全体を置き換えることは、ページのリフローをあまり積極的に行わない可能性があります。それは、コード内の疑わしいスタイルタグを削除しないようにします。

ページに挿入するコードが有効であることを確認します。無効なHTMLコードを導入すると、ブラウザが強制的にレンダリングモードを変更することがあります。そのためには、コードの完全な再検証が必要になります。これは、なぜインラインスタイルのタグを投げ捨てるのかを説明する可能性があります。

テーブルの代わりに、必要なレイアウトを整えるようにdivタグを使用できます。いくつかのdiv要素を置き換えると、テーブルやテーブルの一部を置き換えるよりも、ブラウザの混乱を少なくすることができ、ページが安定する可能性があります。

すべてがうまくいかない場合は、本文にスタイルタグを入れないことでページをより堅牢にする以外の方法はありません。とにかく長期的に考えるべきものです。

関連する問題