過去ログ表示


過去ログ 282 を表示

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

Re[9]: uaUtil.getAnElementByClassNameでエクセプション
(#44093) このトピック中31番目の投稿
(環境: WinXP SP3/SeaMonkey1.1)

> # 私はとりあえず撤退します。

もうコードを読む必要はないですし、撤退してもOK。

"var $GEI = document.getElementById;"が原因で、Bug 360883でした。
> Bug 360883 Cannot call confirm() using reference to function -- "Illegal operation on WrappedNative prototype object"
> https://bugzilla.mozilla.org/show_bug.cgi?id=360883

String(func_obj)で、JavaScriptのソースコードではなく"{ [native code] }"が返されるもの全てで起こるものです。
従って、windowオブジェクトの下のconfirm,alertや、documentオブジェクトの下のgeteElementByIdなど、Fxで使えるほとんどの重要な関数で起こります。
「仕様・制限」で、少なくともFirefox 4.0以前には直す(変更する)ことはない、と言っていました。

サイト側が、"$GEI(" を "document.getElementById(" に書き換えるとか、
短い名前で使いたいとか別名モードで使いたいなら、"function $GET(id){return getElementById(id);}"にするとか、
なんらかの対応をしてくれない限り、
ログインボタンをクリックすれば、Fxでは必ずエクセプションが起こることになります。

Re[10]: uaUtil.getAnElementByClassNameでエクセプション
(#44096) このトピック中32番目の投稿
(環境: Linux/Firefox3.0)

 これって、XPCOM 内のオブジェクトを呼び出す際によく使われる Cc が使えなくなったのと同じことですか?

Re[11]: 色々ありがとうございました。
(#44098) このトピック中33番目の投稿
(環境: WinXP SP3/Firefox3.0)

皆さん、色々とありがとうございました。
心より御礼申し上げます。

特に無明さん、あさん、WADAさん、
貴重な時間を私の為に割いてくださいまして、感謝致します。

こんなにも熱心に調べて頂けてとても嬉しく思います。
私にはチンプンカンプンな事で、全然判りませんが、
どうやら現状では無理だと判りました。
例のサイトはIEViewを使って我慢します。

本当にありがとうございました。

Re[10]: uaUtil.getAnElementByClassNameでエクセプション
(#44104) このトピック中34番目の投稿
(環境: Linux/Firefox3.0)

 完全にオフトピということで下げますね。
> "var $GEI = document.getElementById;"が原因で、Bug 360883でした。
>>Bug 360883 Cannot call confirm() using reference to function -- "Illegal operation on WrappedNative prototype object"
>>https://bugzilla.mozilla.org/show_bug.cgi?id=360883
>
> String(func_obj)で、JavaScriptのソースコードではなく"{ [native code] }"が返されるもの全てで起こるものです。
> 従って、windowオブジェクトの下のconfirm,alertや、documentオブジェクトの下のgeteElementByIdなど、Fxで使えるほとんどの重要な関数で起こります。
> 「仕様・制限」で、少なくともFirefox 4.0以前には直す(変更する)ことはない、と言っていました。
 この "var $GEI = document.getElementById;" という書き方は JavaScript の仕様としては正しいものなんでしょうか?ちょっと私は JavaScript では、この様にメソッドをオブジェクトに放り込むコードは見たことがありません。C や C++ では普通に使いますが ( 関数名は実際は関数へのポインタなので )。
 bugzilla での議論も斜めよみしましたが、これが JavaScript というか ECMAScript の仕様書には記述されているのでしょうか?
 というか WADA さんも "Is there any documentation which describes about it?" も書いてらっしゃることから、何らかの仕様書なり勧告書があるのでしょうかね?bugzilla の議論を読んでいると、そのような仕様が普通で、XPConnect のコードの変更が膨大になるので、これまで触っていないように読めますが。

Re[12]: 色々ありがとうございました。
(#44105) このトピック中35番目の投稿
(環境: Linux/Firefox3.0)

 いえいえお役に立てずにすみませんでした。取り合えず済マークつけておきますね。
済!
他ブラウザ選択の妥当性
(#44122) このトピック中36番目の投稿
(環境: WinXP SP3/Firefox3.0)

> 本題からはずれる話なのですが、(Fx3の警告が妥当かどうかは実際のURLを教えてもらわないと分からないので脇へ置いておくとして)Fx3で安全でない可能性があると警告を受けるので、(警告を受けないために?)そのサイトを他のWebブラウザ(そのサイトが推奨するブラウザ)で開こう、という発想はなにかおかしくないでしょうか。

今回のケースは置いておいて、一概に「警告の出ないブラウザを選択する」は間違いとは言い切れないです。
例えば、IEには自分が持っていない中間認証局証明書を他から取ってくるというステキ仕様がありますが、Firefoxにはありません。なのでIEだったら安全性を確認できるがFirefoxでは警告を表示するサイトは存在します。この場合IEで警告が出ないのはその状況を無視しているのではなく、別の手段で安全性を確認しているのだと言えます。
FirefoxとIEを同程度に信用しているのなら、「このサイトへの接続は安全だ」と保証してくれるブラウザを使うというのも場合によってはありでしょう。

ただし、フィッシング詐欺対策やマルウェア対策機能として「危ないぞ!」と警告された場合は他のブラウザでもアクセスすべきではないです。「安全だと確認できない」と「これは危険だ」の違いと言えば分かりやすいでしょうか?

ちなみに今回の件は後者のようですね…被害の大きさは測りかねますが…

Re[11]: uaUtil.getAnElementByClassNameでエクセプション
(#44125) このトピック中37番目の投稿
(環境: WinXP SP3/SeaMonkey1.1)

> この "var $GEI = document.getElementById;" という書き方は JavaScript の仕様としては正しいものなんでしょうか?

ECMAScript の仕様でも規定されている、正しいものです。
JavaScript上は、function a(){...} var x=a;やvar x=function(){...}と同じようなステートメントになります。

Johnny Stenbackが2006-11-22に、Bug 360883で以下のように言っていて、主としてメモリー消費を最小にするためだったようです。
> https://bugzilla.mozilla.org/show_bug.cgi?id=360883#c5
> I mean we intentionally break those rules, and have been for the last 6 years.
「2000年から」になるから、「最初からそうだった」みたいです。
XPCOM/XPConnectあたりの全面的なデザイン変更をするMozilla 2(Fx 4)までは触らない(触れない)、という感じですね。

> これって、XPCOM 内のオブジェクトを呼び出す際によく使われる Cc が使えなくなったのと同じことですか?

"const Cc = Components.classes"のことですか?

だとすると、2008/6または2008/7更新の以下の文書にも書いてありますし、別の話に思えます。
一時期バグがあった、ということではないですか?
> (A) http://developer.mozilla.org/en/Components.classes
> (B) http://developer.mozilla.org/En/Code_snippets/JS_XPCOM


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

返信不可


- Child Tree -