m2O

2009/07/11 (土)

Opera10 でニコニコ動画の全画面表示を元に戻すときの挙動がおかしい

|  Opera10 でニコニコ動画の全画面表示を元に戻すときの挙動がおかしい - m2O を含むブックマーク

ウチ(Windows7)だけの現象かもしれませんが。

まず「拡大」ボタンで全画面表示にして動画をみますよね。

f:id:miya2000:20090711163023p:image

ロマサガ3 ?貴方の小剣ウェイクアップ? 14 - ニコニコ動画

それで「戻す」ボタンで全画面表示を解除しようとすると動画が見えなくなっちゃったり、上にズレて表示されたりするんです。

f:id:miya2000:20090711163024p:image:left f:id:miya2000:20090711164338p:image

もし同じ現象が起こっていたら、以下の user.js で解消するかもしれません。

// ==UserScript==
// @name       nicovideo - fix restorePlayer for Opera10.
// @author     miya2000
// @namespace  http://d.hatena.ne.jp/miya2000/
// @include    http://www.nicovideo.jp/watch/*
// @exclude    http://*http*
// ==/UserScript==
javascript:(function F() {
    if (window.restorePlayer) {
        window.restorePlayer = function () {
            // -- original code. -- //
            Event.stopObserving(window, "resize", fitPlayerToWindow, false);
            $("flvplayer").setStyle({ width: "", height: "" });
            var container = $("flvplayer_container");
            [container].concat(container.ancestors()).invoke("setStyle", { margin: "", padding: "", width: "", height: "" });
            container.setStyle(containerStyle);
            $("PAGEHEADER", "WATCHHEADER", "WATCHFOOTER", "PAGEFOOTER").invoke("show");
            //Element.scrollTo($("flvplayer_container")); // <- fix target.
            if (typeof rotationAdvertisement != "undefined")
                rotationAdvertisement.resume();
            
            // -- append code. -- //
            setTimeout(function() {
                Element.scrollTo($("flvplayer_container"));
            }, 0);
        }
    }
    else {
        window.addEventListener('load', F, false);
    }
})()

(http://gist.github.com/145164)

やっていることは

Element.scrollTo($("flvplayer_container"));

を後にズラしただけです。なんでこれでうまくいくのかはわかりません。

--

別対応(コメント参照)

http://gist.github.com/145502

os0xos0x2009/07/11 19:23そういえば、うち(XP SP3)でも起きててすこし気になってました。
一応、Element.scrollToを何もしない関数で上書きするだけでも回避はできるみたいですね。

miya2000miya20002009/07/12 12:26あーそうかー。scrollTo なんてロジックとしては無くてもいいものだから、上書きしちゃって大丈夫ですね。
http://gist.github.com/145502

トラックバック - http://orera.g.hatena.ne.jp/miya2000/20090711