Opera10が出たので、Opera9.2x のサポートを止めます。
uuAltCSS.js, uuCanvas.js, uuQuery.js でサポートするブラウザを変更します。
- IE6 〜 IE8
- IE6の後方互換モードはサポートしません。
- Opera9.5x 〜 Opera10.0
- Opera9.2x は今後サポートしません。
- Firefox2.0 〜 Firefox3.5
- Safari3.1 〜 Safari4.0
- Safari3.0 はサポートしません。
- Google Chrome2 〜 Google Chrome4
- Chrome1 はサポートしません。
また、Opera9.2x 対策として入れ込んでいる以下のコード片をリポジトリから削除する予定です。
Opera9.2x の getComputedStyle("width") が他のブラウザと異なりボーダー幅を含んだサイズを報告する件に対するパッチ("height" も同様)
// uuMeta.style.getPixel function getPixelOpera92(node, prop) { switch (prop) { case "width": return getSize(node).w - getBorderSize(node, 0).w; case "height": return getSize(node).h - getBorderSize(node, 0).h; } return getPixel(node, prop); }
Opera9.2x で スタイルシートの末尾にしか insertRule が行えないバグに対するパッチ
// uuMeta.style.sheet.insertRule - insert CSS rule insertRule: function(id, // @param String: StyleSheet id expr, // @param String: css selector decl, // @param String: css declaration index) { // @param Number(= last): insertion position // @return Number: inserted rule index // or -1(error) if (!(id in _sheet)) { return -1; } var r = _sheet[id]; if (_ua.ie) { index = index === void 0 ? r.rules.length : index; r.addRule(expr.trim(), decl.trim(), index); } else { index = index === void 0 ? r.sheet.cssRules.length : index; index = r.sheet.insertRule(expr + "{" + decl + "}", index); if (_ua.opera && _ua.uaver < 9.5) { // Opera90 bug index = r.sheet.cssRules.length - 1; } } return index; },
Opera9.2x の JavaScript パーサが正規表現構文とコメント構文を正しくパースできない件に対するガードコメント
// Opera9.2x bugfix http://twitter.com/uupaa/status/3513418902 // PSEUDO = /^(?::(not)\((?:(\*)|(\w+)|[#\.][a-z_\u00C0-\uFFEE\-][\w\u00C0-\uFFEE\-]*|\[\s*(?:[^~\^$*|=!\/\s]+\s*[~\^$*|!\/]?\=\s*(["'])?.*?\4i?|[^\]\s]+)\s*\]|:contains\((["'])?.*?\5\)|::?[\w\-]+(?:\([^\u0029]+\))?)\)|:contains\((["'])?(.*?)\6\)|::?([\w\-]+)(?:\((.*?)\))?)/i, PSEUDO = /^(?::(not)\((?:(\*)|(\w+)|[#\.][a-z_\u00C0-\uFFEE\-][\w\u00C0-\uFFEE\-]*|\[\s*(?:[^~\^$*|=!\/\s]+\s*[~\^$*|!\/]?\=\s*(["'])?.*?\4i?|[^\]\s]+)\s*\]|:contains\((["'])?.*?\5\)|::?[\w\-]+(?:\([^\u0029]+\))?)\)|:contains\((["'])?(.*?)\6\)|::?([\w\-]+)(?:\((.*?)\))?)/i,
サポートを止める理由は、書かなくてもいいよね。