Safari 5.1とおそらく過去のバージョンのChromeまで、すべてのメインストリームブラウザでうまく動作するスタイルシートスイッチャーがあります。Safari 5.1のスタイルシートスイッチャーWebKit 534
https://discussions.apple.com/thread/3215084?start=0&tstart=0
のWebKitのこのバージョンでは、アクションにない表示されます:次のスクリプトで
a.disabled = false
問題の原因は、WebKitのバージョンに534他の設計者が経験した同様の問題であるように思われます。
function changeLayout(description){
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++){
if(a.getAttribute("title") == description){a.disabled = false;}
else if(a.getAttribute("title") != "default"){a.disabled = true;}
}
}
(または、デフォルトのアクティブなスタイルシートを1つだけ許可する場合があります)
私はスタイルシートを切り替えるために配信できる代替コードを持っていますが、それはもっと厄介で、通常の方法では失敗するだけです。
ブラウザが "a.disabled = false"(またはその点については真)を尊重しているかどうかテストする方法はありますか? そして、そうでない場合は代替コードを配信しますか?
またはWebKitバージョン534を信頼できる方法でテストできますか?