先日,”ニコニコ動画Zero”なるものが発表され,
UIの変更・機能の追加といった様々な更新が行われました.
・・・が,利用できるのはプレミアム会員のみ.
一般会員である僕には一切関係のないことなのです.
それにもかかわらず,表示される画面上部のリードバー.
うっとおしいことこの上ない!!
ということでGreasemonkeyScriptで消すことにしました.
window.onload = function() {
var obj = document.getElementById('zero_lead');
obj.parentNode.removeChild(obj);
};
とりあえずはこれで消えます.
しかし,Window.onload の場合,ページ内のデータがすべてロードされた時点での実行となるので,
ページのロードが完了するまで表示は消えないことになります.
そこで調べてみると,jQueryの $(document).ready を使うことで,
DOMの準備ができた時点で,命令を実行してくれるそうです.
ということで少し改善を加えてみます.
jQueryの読み込みに関しては,OTCHY.NET様の記事をコピペ参考にしました.
(function (d, func) {
var h = d.getElementsByTagName('head')[0];
var s1 = d.createElement("script");
s1.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js");
s1.addEventListener('load', function() {
var s2 = d.createElement("script");
s2.textContent = "jQuery.noConflict();(" + func.toString() + ")(jQuery);";
h.appendChild(s2);
}, false);
h.appendChild(s1);
})(document, function($) {
$(document).ready(function() {
var obj = document.getElementById('zero_lead');
obj.parentNode.removeChild(obj);
});
});
これで上手く動くかとおもいきや,jQueryを逐一埋め込むため,
その分.目的の処理が実行されるのが遅くなり,あまりよい感じで動作してくれません.
Firefox限定であれば,unsafeWindow.jQuery でニコニコ動画内のjQueryを呼び出せますが,
何故かランキングページにはjQueryが使われておらず,これも完全ではありません.
Greasemonkeyからもう少し気軽に,速くjQueryを扱う方法があればいいのですが...
続く…?
