修正は続く、PPMが再生できない問題を修正
いろいろと修正は続きます。
前にDOMツリーの構築後にスクリプトが実行されるような関数を作ったんですが、よくよく考えれば、そもそもGreasemonkeyは原則DOMツリー構築後に実行されるんだった・・・
遅延ロードされるメールポップアップの部分もなかった場合はタイマーで後でリトライするようにしてあるし。
しかし、そうするとコメント読み込み完了のイベントを設定できないGoogleChromeではコメントに矢印を表示できなくなってしまう。ということで、がんばってDomNodeInsertedで対応させて見ました。なんとか動いてくれているようです。
//Hatenaオブジェクトへアクセス可能 OR アンセーフウィンドウにアクセス可能 if(window.Hatena != undefined || window.wrappedJSObject != undefined) { if((window.wrappedJSObject || window).Hatena.UgoMemo.AjaxComment) (window.wrappedJSObject || window).Hatena.UgoMemo.AjaxComment.addEventListener("loaded",AddShowButton); }else //いずれにも非対応対応である たぶん、webkit { document.body.addEventListener('DOMNodeInserted',function(evt){ if(isCommentAdded == false) { if(event.target.getAttribute("data-author-name") != null) { setTimeout(function(){ AddShowButton(); isCommentAdded = false; },200);//timeout isCommentAdded = true; } }/* if isCommentAdded */ }, false); // end addEvent }
いくつも同時に追加されるので、200msのタイムアウトを待ってから実行しています。本来はもっと短くてもいいんです、が余裕を持ってです。
別に0.2秒の間にクリックするような人はいないでしょうし。
それで、DOMツリー待ちをしていた部分をカット。結構コードが短くなりました。
ついでに、GoogleChromeだけマルチアイコンのでっかいのを選択するせいではてなブックマークへのリンクが変なのを修正。ほんとに、何で64x64を選択する?
ーーーーーーーーーーーーーーーーー
その後、大問題を発見。
なんと、ダウンロードリンクのPPMファイル、再生できないのである。
なぜだ!と思ってバイナリエディタで開いてみると、PERAの前にゴミデータは入っているは、普通のファイルとサイズは違うわ。
どうやら、内部処理用のファイルらしい気がする。
本来のファイルを取得できるようにしました。0.1.9の正式版で同時にアップデートする予定ですが、もし、今すぐほしい!という人がいましたらコメントへ。
さらに、アニメGIFも再生できないことが判明・・・
修正しました。スイマセン・・・
ーーーーーーーーーーーーーーーーー<今後の予定>
再読み込みボタン