0

JavaScript SDKの関数を使用するとFB.login、ポップアップが表示されますが、右端に配置されてセカンド モニター画面に表示されます。これは、ブラウザ ウィンドウが最大化されている場合にのみ発生し、ポップアップが正しく中央に配置されていない場合にのみ発生します。IE 10、Firefox 20で再現可能

4

2 に答える 2

0

Window.open オーバーライドも私のために働いた...

それに役立つコードスニペットを配置します。

  window.open = function (open) {
        return function (url, name, features) {

            var w = 475;
            var h = 183;
            // Fixes dual-screen position                         Most browsers      Firefox
            var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;
            var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;

            var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
            var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;

            var left = ((width / 2) - (w / 2)) + dualScreenLeft;
            var top = ((height / 2) - (h / 2)) + dualScreenTop;
            var override_features = 'width=475,height=183,left=' + left + ',top=' + top + ',scrollbars=1,location=1,toolbar=0';

            // set name if missing here
            //name = name || "default_window_name";
            return open.call(window, url, name, override_features);
        };
    }(window.open);

w = 目的のポップアップ ウィンドウの幅 h = 目的のポップアップ ウィンドウの高さ

変数を使用して、override_feature必要なパラメーターを設定します。

于 2016-10-07T09:53:55.800 に答える