コードを文字通り JS Fiddle にコピーしたところ、正常に動作し始めました。エラーなし。
@supports クエリが true と評価された場合、特定の単語を Unicode 記号に置き換えようとしています。true と評価されるかどうかを確認する方法は、書き込み可能なスタイルのみが適用されているかどうかを確認することです。
私が得ているエラーは
Uncaught TypeError: Cannot read property 'style' of undefined
しかし、同じアセットを使用して JS Fiddle でこの正確なコードを使用すると、エラーは発生しません。
JS Fiddle へのリンクは次のとおりです: http://jsfiddle.net/VJm6r/
コードは次のとおりです。
if(document.getElementsByTagName('body')[0].style.zIndex === 0){
//ligatures and @supports supported
}
else{
//ligatures and @supports not supported
$(document).ready(function(){
var map = {
"About": { regex: /About/g, replacement: "" },
"Work": { regex: /Work/g, replacement: "" },
"CV": { regex: /CV/g, replacement: "" },
"Resume": { regex: /Resume/g, replacement: "" },
"down": { regex: /down/g, replacement: "" },
"Mail": { regex: /Mail/g, replacement: "" },
"Dribbble": { regex: /Dribbble/g, replacement: "" },
"Facebook": { regex: /Facebook/g, replacement: "" },
"GooglePlus": { regex: /GooglePlus/g, replacement: "" },
"Twitter": { regex: /Twitter/g, replacement: "" }
}
$('.nav a').each(function () {
var obj = $(this);
var html = $(this).html();
obj.html(html.replace(map[html].regex, map[html].replacement));
});
});
}