元派遣プログラマの自称技術系ブログです。雑記とか自作のオープンソースプロジェクトの話とか。
Javaとか組込とかできます。お仕事ください。

Opera8.65と9.2の違い

Operaの8.65(EM-ONE)でNavigationRingが動かなかった。

なんでかなーと思って、調べてみると、どうやらブラウザ判別のロジックに問題がある+サポートしてないメソッドを呼んでこけている。

以前のソースでは、document.allの有無で判定していたのだけれども、これはどうも宜しくないらしい。window.operaの有無で判別するといいらしいので、そのように書き換えた。

それと、8.65には、window.getSelection関数がないらしい…。

8系の選択領域解除どうやってやるんだろう?まあ、モバイルデバイスじゃダブルクリックなんて出来ないから放置でいいかな(ぇ

今日中に8.65系対応版をリリースできるといいな。

_IS_IE:document.all?true:false,
_IS_OPERA:window.opera?true:false,
RemoveSelections:function()
{
if(this._IS_OPERA){
//Opera
if(window.getSelection){
//Opera92
window.getSelection().removeAllRanges();
}else{
//older Opera no work.
}
}else{
if(window.getSelection){
//Safari,firefox
window.getSelection().removeAllRanges();
}else if(document.selection){
//IE
document.selection.empty();
}
}
},