Получение размера окна открывающего окна (IE) - PullRequest
0 голосов
/ 17 июля 2009

Для браузеров FF и других браузеров, отличных от IE, window.opener.outerWidth / Height дает мне необходимую информацию. Что касается IE, я все еще в растерянности, от IE6 до 8. Я не могу использовать jquery, поскольку страница открывателя находится вне моего контроля, поэтому я не могу сделать window.opener. $ (Window). Для этого требуется, чтобы у jerery был «прикреплен» (поправьте меня, если я ошибаюсь).

Я немного погуглил, а также искал этот сайт, все еще не могу найти точный и четкий ответ.

Добавить: Мне действительно нужен внешний размер, чтобы я мог сделать resizeTo (w, h) для открытого окна, где w и h рассчитываются на основе отношения размера сошника. "resizeTo" по иронии судьбы устанавливает внешний размер для IE и других браузеров. Я также пробовал кучу вещей, используя resizeBy, но недостаточно хорошо.

1 Ответ

3 голосов
/ 17 июля 2009

outerWidth и outerHeight определяют размеры окна браузера (включая боковую панель, хром окна и [изменение] границ / маркеров окна). К сожалению, вы не можете получить эти размеры в IE - доступны только размеры окна просмотра окна (достаточно для большинства приложений, которые я видел). Ака window.innerWidth / window.innerHeight.

jQuery может дать вам размеры текущего окна просмотра, но не другие окна (например, открывающие, дочерние и т. Д.). Так что вам придется кодировать это самостоятельно. Вот примерный пример:

// get viewport size (without scrolling) of the given window object
function clientSize(win) {
    var width, height;

    if(win.innerWidth || win.innerHeight) {
        width = win.innerWidth;
        height = win.innerHeight;
    } else {
        var doc = win.document;
        width = doc.documentElement.clientWidth || doc.body.clientWidth;
        height = doc.documentElement.clientHeight || doc.body.clientHeight;
    }

    return { width:width, height:height }
}

Попробуйте как:

var openerSize = clientSize(window.opener); 
// now use openerSize.width, openerSize.height

Также обратите внимание, что вы не можете прочитать ни одно из этих значений, если данное окно загрузило документ из другого домена (мера безопасности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...