KHTMLへの暫定的対処を行った

Safari 3やChromeで使用されているKHTMLはacceptヘッダでapplication/xhtml+xmlを要求してくるにもかかわらずxml-stylesheet処理命令による代替スタイルシート指定を無視し、すべてのスタイルシートを適用する。このページはそれらの環境で盛大に崩れていたのだが、Chromeの登場に伴いなにやらあまり無視できないシェアになってきた、らしい。一応読めるので放置してきたが、今日限りでUser-AgentヘッダにKHTMLを含む環境に対してはapplication/xhtml+xmlの優先度がtext/htmlより高い場合においてもそれを無視してtext/htmlを返すよう変更した。

AcceptヘッダをみてHTML4.01若しくはXHTML1.1っぽいXML複合文書を出力する事にして、自らXMLを選択するようなUAはきっとスタイルシートの実装が進んでいるはずだ、という事にしている。一応末尾に拡張子html, xhtml, atom, rdfを付加するとそれっぽい形式で帰ってくるという事になっているはずだけれど、上手く動いているのかは不透明。

という仕様は変わっていないため、URIの末尾に拡張子として.xhtmlを付けることでどのように崩れるか確認できる。

nanto_viさんによるとこのバグはWebKitのバグであり、Safari 4では修正される見込みなのでそうです。情報ありがとうございました。

この文書の諸情報

この文書の永続的URI
http://kuruman.org/diary/2008/12/25/support-khtml
公開日時
2008年12月25日 午後10時15分35秒
ヘルプ
フィードバックについて
RSS Feedによる更新情報
http://kuruman.org/note/index.xml
This document is licensed under a CC : by-nc. 2008, Kuruma; FOAF description.