クライアントサイドにおいて最上位のグローバル オブジェクト,全てのオブジェクトの頂点となる。そのため,情報としては不要なことが多く通常は省略可能。
<iframe>
}{交源}{聴取子登録}{希哲15年3月31日の開発}{サブフレーム}{原因判明}{@tgt_evt.bld..on()}(19)@tgt_evt.bld..on()(@elm.bld..on())を実装した希哲13年からあったと思われるが,認識したのはデライトに AdSense を導入した希哲14年2月から。
希哲15年3月31日の開発(10歩)で原因判明,修正した。
@tgt_evt.bld..on() で window 客体 のサブフレームを参照していた。
@win
}{Aejs}{違了}{.length
}{<iframe>
}{握接}{希哲15年3月31日の開発}(41)小窓が開かない場合があることに気付いて調査を始めたが,間もなく AdSense が表示されている場合に @win で事象聴取子を登録しようとした時の問題であることを突き止めた。Firefox では「Permission denied to access property "addEventListener" on cross-origin object」という違了が出ていた。
これは Aejs における既知の不具合で,昨年7月16日の開発記録では「根本的な解決策を施すことが出来た」と書いているが,単に AdSense よりも Aejs を先に読み込むようにしただけで,Aejs の欠陥は残ったままだった。どこかで iframe 内に addEventListener() を仕掛けているらしいということまでは突き止めていたが,それ以上調査する余裕が無かった。
今回の調査で,@tgt_evt.bld..on() 内で対象の length を調べて添え字で握接している所が問題だったことが判明した。@elm.bld 個体であれば問題ないが,@win(window)でこれをやるとサブフレームに握接してしまうことになる。
単純に,対象が window であった場合は飛ばす処理を加えて解決した。
ずっと気になっていた気持ち悪い不具合が解決したのは収穫だった。
dragleave
}{dragenter
}{希哲13年8月31日のツイスト}{希哲13年8月31日}{事象目標}{Event.target}{ツイスト}{カウンター}{window 客体}{『Stack Overflow』}(10)Stack Overflow で,window まで浮かんで来た dragenter, dragleave の事象目標(Event.target)を全部記録して,空になった時に窓外に出たことにする,という交度を見つけた。これをカウンター式に少し変えて上手く捉えられるようになった。
dragleave
}{dragenter
}{DOM 要素}{窓枠}{希哲13年8月31日のツイスト}{ドラッグイメージ}{希哲13年8月31日}{JavaScript}{バブリング}{ツイスト}(12)@win
}{Aejs}{道手}{絡包}{希哲13年8月30日の開発}{@tgt_evt}{希哲13年8月30日の進捗時限}{希哲13年8月30日の進捗}(20)