明日のためにその1
noscript要素とかIE独自実装を取っ払ってどこまで簡略化して書けるかの脳内実験
これ↓
<link rel="stylesheet" href="http://asamuzak.jp/css/layout.css" />
<noscript>
<link rel="stylesheet" href="http://asamuzak.jp/css/layout_sub.css" />
</noscript>
<script src="http://asamuzak.jp/js/assist.js"></script>
<!--[if ie 9]>
<script src="http://asamuzak.jp/js/textshadow.js"></script>
<![endif]-->
<!--[if lt ie 9]>
<link rel="stylesheet" href="http://asamuzak.jp/css/layout_sub.css" />
<script src="http://asamuzak.jp/js/html5shiv-printshiv.js"></script>
<![endif]-->
と、これ↓
<link rel="stylesheet" href="http://asamuzak.jp/css/layout.css" />
<link rel="stylesheet" href="http://asamuzak.jp/css/layout_sub.css" />
<script src="http://asamuzak.jp/js/assist.js"></script>
<script src="http://asamuzak.jp/js/textshadow.js"></script>
<script src="http://asamuzak.jp/js/html5shiv-printshiv.js"></script>
<script>
(function(_doc) {
'use strict';
_doc.addEventListener('DOMContentLoaded', function() {
var _$, i, l, head = _doc.querySelector('head');
for(_$ = _doc.querySelectorAll('link'), i = _$.length - 1, l = 0; i >= l; i--) {
/layout_sub/.test(_$[i].href) && head.removeChild(_$[i]);
}
for(_$ = _doc.querySelectorAll('script'), i = _$.length - 1, l = 0; i >= l; i--) {
(/html5shiv/.test(_$[i].src) || _doc.documentMode !== 9 && /textshadow/.test(_$[i].src)) && head.removeChild(_$[i]);
}
}, false);
})(document);
</script>
…は、実質的に等価と考えていいのかな? (実際には、除去するスクリプトはassist.jsの中に突っ込む予定だけど)
余計なリクエストが発生するというデメリットはあるけど、それ以外に何か問題はあるのかな?
追々試してみよう
"明日のためにその1"へのTwitter上でのコメントやRT
3件のツイートがあります。
ツイート 1
asamuzaK.jp : 明日のためにその1 / noscript要素とかIE独自実装を取っ払ってどこまで簡略化して書けるかの脳内実験 http://t.co/LnqX0cVywK
ツイート 2
やっぱ根本的に無駄な処理だな…w 後のメンテナンスでも、HTMLとJavaScriptの両方の修正が必要になるわ… http://t.co/LnqX0cVywK
ツイート 3
つーことで試すまでもなかった…w http://t.co/LnqX0cVywK