简体   繁体   中英

FB.login popup is not centered and even on separate screen than the active browser window

When I use the FB.login function from the JavaScript SDK, popup shows up, but it is aligned all the way to the right and appears on the second monitor screen. This only happens if browser window is maximized, if it is not maximized popup is centered correctly. Reproducible in IE 10, Firefox 20

I've ended up overriding the window.open and changing the left= in attribute string. FB API puts ridiculously large number in there for some reason.

Window.open overide worked for me too...

placing code snippet to help on it:

  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 = desired popup window width h = desired popup window height

u use the override_feature variable to set any param you wish.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM