ダウンロード誘導スクリプトのIE8対応
document.write を使って javascript を埋め込んだ位置に出すようにしているので、なかなか XHTML に対応するのは難しいです。 別の HTML 文書に js を貼っておいて、それをメインの XHTML ファイルに iframe で埋め込むとかで対処していただけないでしょうか?
他に何か良い方法があればよいのですが。
調査と回答をありがとうございます。 XHTMLのみならず、HTMLでも同様の問題が生ずる事を確認しています。 DOCTYPE宣言の有無が原因と思われます。
WinXP用のFirefox3.5, Opera9.64, Chrome2.0.172では問題が生じない事を確認しました。IE8開発元の問題である可能性もありえます。
compact.jsおよび下請けスクリプトのHTTP応答ヘッダに"X-UA-Compatible:"指定を埋めると解決するかもとも考えましたが、検証はしていません。
当面はcompact.jsを呼び出す側のXHTML文書内metaタグに"X-UA-Compatible"指定を行う事で切り抜けたいと思います。コメント頂きましたとおり、iframeタグでも回避できる事は確認しました。
ありがとうございます。
XHTML は仕様上動かなくて正しいですが、HTML なら 4.01 strict でも document.write はあるはずなので IE の問題かもしれませんね。
ともあれ、現時点では仕様と言うことで close させていただきます。 将来的には何か出力するタグを変える必要はありそうですが。
SourceForge.JP提供のダウンロードページ誘導Javascriptコード(compact.js)を含むXHTML文書がIE8で正しく表示されません。
Quirks(後方互換)モードでXHTMLを書き直すか、X-UA-Compatibleヘッダを追記するか、 IE8の互換表示ボタンをその都度操作するかすれば正しく表示されます。
compact.jsがIE8の標準モード(XHTMLのDOCTYPE宣言を含むページ)でも正しく動作するよう、対処していただけないでしょうか。