過去ログ表示


過去ログ 30 を表示

トピック内全 14 記事中の 11 〜 14 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0] [1]

論旨がずれた書き込みですが。Operaについて。
(#4338) このトピック中11番目の投稿

もうやめようかとも思っていたのですけど、間違いあったので、訂正を。

Operaで出たエラーはブラウザの認証を「Operaとして認証」にした場合であって、他の設定にすれば、出なくなりました。認証の問題だったようです。勘違いでした。余計な書き込み、申し訳ありませんでした。


ついでに。

> オペラも反映したいのですが、JavaScriptの対応が
> 今ひとつ解らず諦めています.

↑これ、JavaScriptの動作が、という意味なら仕方ないのですが、ブラウザ判別としての事なら。

ブラウザがOperaかの判別には、window.opera を用いればいいです。それが真ならOperaです。
なお、Opera6.05はブラウザの認証を「MSIE・・・」とした場合のみdocument.allが真となります(他の4モードでは偽)。Opera7は常にdocument.allが真となるかもしれません。従って、window.opera による判別はdocument.allでのi.e.判別の前に行う必要があります。

んで、Operaのバージョン判別も必要な場合、5以前は私はしりませんが、恐らく、document.getElementById が真になるのは6からだと思われるので、これで6以上判定はできるかと思います。6になく、7から有効となる物に document.plugins がありますからこれで7以上判定も可能と思います。(6,7はマウスの座標取得等が違うようです。)
6のjavasprict対応状況は
http://www.opera.com/docs/specs/js/index.dml
に大雑把にあります。
7は基本的にDOMレベル2準拠の筈なのですが・・・・・・


論旨がずれた書き込みですが。Operaについて。
(#4344) このトピック中12番目の投稿

> もうやめようかとも思っていたのですけど、間違いあったので、訂正を。
>
> Operaで出たエラーはブラウザの認証を「Operaとして認証」にした場合であって、他の設定にすれば、出なくなりました。認証の問題だったようです。勘違いでした。余計な書き込み、申し訳ありませんでした。

「Operaとして認証」の認証だと何かが対応していないのですね.
>
>
> ついでに。
>
>>オペラも反映したいのですが、JavaScriptの対応が
>>今ひとつ解らず諦めています.
>
> ↑これ、JavaScriptの動作が、という意味なら仕方ないのですが、ブラウザ判別としての事なら。

ブラウザの判別とJavaScriptのプロパティです.
>
> ブラウザがOperaかの判別には、window.opera を用いればいいです。それが真ならOperaです。
> なお、Opera6.05はブラウザの認証を「MSIE・・・」とした場合のみdocument.allが真となります(他の4モードでは偽)。Opera7は常にdocument.allが真となるかもしれません。従って、window.opera による判別はdocument.allでのi.e.判別の前に行う必要があります。
>
> んで、Operaのバージョン判別も必要な場合、5以前は私はしりませんが、恐らく、document.getElementById が真になるのは6からだと思われるので、これで6以上判定はできるかと思います。6になく、7から有効となる物に document.plugins がありますからこれで7以上判定も可能と思います。(6,7はマウスの座標取得等が違うようです。)
> 6のjavasprict対応状況は
> http://www.opera.com/docs/specs/js/index.dml
> に大雑把にあります。
> 7は基本的にDOMレベル2準拠の筈なのですが・・・・・・
>
「xxxとして認証」とバージョンそれにjavasprictのプロパティの組み合わせを
考えるとちょっと大変で諦めていたのです.
document.allだとIE4以上でOKなJavaScriptのプロパティーは全部使えるのでしょうか?
そうでもなさそうだと言う印象を以前受けました.エラーが出なくても
動かないということがありますね.
いずれにせよ、ご紹介のページを読んで勉強してみます.有り難うございました.


> 「Operaとして認証」の認証だと何かが対応していないのですね.

いえ、今回の場合は機能の問題ではないです。
「Operaとして認識」「Mozilla5.0として認識」「Mozilla4.78として認識」「Mozilla3.0として認識」の4通りはJavaScriptの機能は変わらないと思います。
恐らく、認証等が変わるだけかと。
ですが、Opera,Mozilla3.0として認識 にした2通りのみ、あのサイトでは「ブラウザが対応していない」旨の注意メッセージが出てその後、JavaScriptのエラーが出ます。注意メッセージの出ない認証モードの時にはエラーも出ません。
Opera6.05でもOpera7Beta2でも。
メッセージが出るのは当然だと思います。ただ、その場合にBBさんのおっしゃっていた前置き処理が実施されないのは・・・そういうプログラムなのでしょう。


> document.allだとIE4以上でOKなJavaScriptのプロパティーは全部使えるのでしょうか?
> そうでもなさそうだと言う印象を以前受けました.エラーが出なくても
> 動かないということがありますね.

その通りです。
Opera6.xxでは未対応でエラーは出なくても動かない命令あります。ですから、完全対応しろ、などとは云いません。できない物ならしかたないですから。ただ、機能的に可能なら、考慮していただけるとありがたいだけです。
Opera6.xxではdocument.allに対応しているのは「MSIEとして認識」の設定にしている時だけですし、その場合でも他のie独自Scriptはかなり非対応の物があります。また、document.getElementByIdは全モードで動きますが、正式ではない対応で・・・数値的にはpx単位のみで、座標取得時に単位が付きません(本来文字列で単位付きで返る値が、数値で返ります。)。少々独特です。(余談ですが、その為、document.getElementById.style.pixelLeft なんて書き方しても問題ないという (^◇^;) )
そんな訳で、window.operaでoperaと判定したら、document.allは使わない方がいいと思います。
http://www2.ocn.ne.jp/~yoochan/decoration/JavaScript/library.htm
http://www.red.oit-net.jp/tatsuya/java/cursor.htm
などのサイトも結構参考になると思います。
(ただ、Opera7ではマウス座標はこのままだとマズイのですけど。pageXOffset,pageYOffset を足さないと・・・だからこれやる時は6,7で処理変えないと・・・)


Opera7Beta2では、document.getElementByIdは正式記述方式です。そのうえ、document.all等もかなり対応しているようです。6では未対応だったかなりの命令(color関係その他)にも対応しました。ですが、ie独自命令に完全対応はしてません。また、scrollX,scrollYなどGecko独自命令(これ、DOMにはないのですよね?)にも対応してないと思います。





論旨がずれた書き込みですが。Operaについて。
(#4363) このトピック中14番目の投稿

>>「Operaとして認証」の認証だと何かが対応していないのですね.
>
> いえ、今回の場合は機能の問題ではないです。
> 「Operaとして認識」「Mozilla5.0として認識」「Mozilla4.78として認識」「Mozilla3.0として認識」の4通りはJavaScriptの機能は変わらないと思います。

つまりネットスケープ系のと言うことですね.

> 恐らく、認証等が変わるだけかと。
> ですが、Opera,Mozilla3.0として認識 にした2通りのみ、あのサイトでは「ブラウザが対応していない」旨の注意メッセージが出てその後、JavaScriptのエラーが出ます。注意メッセージの出ない認証モードの時にはエラーも出ません。
> Opera6.05でもOpera7Beta2でも。
> メッセージが出るのは当然だと思います。ただ、その場合にBBさんのおっしゃっていた前置き処理が実施されないのは・・・そういうプログラムなのでしょう。

document.all
!document.getElementById && document.all
document.getElementById && !document.all
document.getElementById && document.all
はOKにしました.
しかしOperaのことは考えていなかったのでどうなるか解りません.

>
>
>>document.allだとIE4以上でOKなJavaScriptのプロパティーは全部使えるのでしょうか?
>>そうでもなさそうだと言う印象を以前受けました.エラーが出なくても
>>動かないということがありますね.
>
> その通りです。
> Opera6.xxでは未対応でエラーは出なくても動かない命令あります。ですから、完全対応しろ、などとは云いません。できない物ならしかたないですから。ただ、機能的に可能なら、考慮していただけるとありがたいだけです。

Operaの少なくとも6, 7くらいははインストールして全部調べてみないと
駄目ですね.かなり憂鬱な事です.

> Opera6.xxではdocument.allに対応しているのは「MSIEとして認識」の設定にしている時だけですし、その場合でも他のie独自Scriptはかなり非対応の物があります。また、document.getElementByIdは全モードで動きますが、正式ではない対応で・・・数値的にはpx単位のみで、座標取得時に単位が付きません(本来文字列で単位付きで返る値が、数値で返ります。)。少々独特です。(余談ですが、その為、document.getElementById.style.pixelLeft なんて書き方しても問題ないという (^◇^;) )
> そんな訳で、window.operaでoperaと判定したら、document.allは使わない方がいいと思います。
そういえば座標の取得がMozillaでもDOCTYPE宣言で変わりますね.
TransitionalでDTDの場所を示すシステム識別子がつく場合や
Strictの場合は
document.getElementById(id).offsetLeft + 'px'
と単位が必要です.
互換モードでは無くて良い.


> http://www2.ocn.ne.jp/~yoochan/decoration/JavaScript/library.htm
> http://www.red.oit-net.jp/tatsuya/java/cursor.htm
> などのサイトも結構参考になると思います。
> (ただ、Opera7ではマウス座標はこのままだとマズイのですけど。pageXOffset,pageYOffset を足さないと・・・だからこれやる時は6,7で処理変えないと・・・)
>
>
> Opera7Beta2では、document.getElementByIdは正式記述方式です。そのうえ、document.all等もかなり対応しているようです。6では未対応だったかなりの命令(color関係その他)にも対応しました。ですが、ie独自命令に完全対応はしてません。また、scrollX,scrollYなどGecko独自命令(これ、DOMにはないのですよね?)にも対応してないと思います。

scrollX,scrollYがGeckoDOM独自とは知りませんでした.

Operaで少なくともデフォルトの認証でどれだけ対応出来るようになるか
考えてみます.色々有り難うございます.


[ 前のトピック内容10件 ]
このトピックの全ページ / [0] [1]

返信不可


- Child Tree -