0

この質問が以前に尋ねられた場合-許してください、私はそれを見つけることができませんでした。

私はJavaScriptを使用してHTMLドキュメントをdivにAJAXします。このコードは単純化したものです。

Chrome-23およびFF-8はietest.cssファイルを使用してHTMLをレンダリングしますが、IE-9はレンダリングしません。divの代わりにiframeを使用するのは難しいでしょう。

どんな提案でも大歓迎です。

ありがとう、トロントのジョン

<!--
Style sheet contents:
p.bu1 {color: Blue; font-size:2em; font-weight:bold;}
p.rd1 {color: Red;  font-size:2em; font-weight:bold;}
-->

<html>
<head>
<script>
function write_doc()
{
  document.getElementById('div').innerHTML = "<link rel='stylesheet' type='text/css' href='ietest.css?v=1'>\
   <p class='bu1'>BLUE</p><p class='rd1'>RED</p>";
}
</script>
</head>
<body>
<div id='div' onclick='write_doc()'>Click Me</div>
</body>
</html>
4

1 に答える 1

0

テームさん、ありがとう

回避策を見つけました。

クエリ ページに CSS ファイル (参照されるスタイルのほとんどをカバーするファイル) を読み込み、HTML 文字列内のクラスの 1 つへの参照を前に付けてから、それを div に送信します。

例えば


CSS ファイル: ... span.ie_dummy {font-size: 0.1em;} ...

脚本:

var archdoc = "<span class='ie_dummy'> </span>" + xmlhttp.responseText;


(  を使用する必要があります。スペース文字は機能しません。)

これには、アーカイブ内のすべての CSS ファイルを統合し、あいまいさを取り除く必要があります。スタイルのないテキストを IE ユーザーにそのままにしておきたいという誘惑にかられます。多分彼らはブラウザを切り替えるでしょう。

于 2012-12-04T14:15:51.740 に答える