ФорумПрограммированиеJavaScript → Управление скролом в окне, открытом через window.open

Управление скролом в окне, открытом через window.open

  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 1 июля 2008 г. 17:19

    Вот что меня озадачило.
    Всем известно, что новое окно в JS открывается c помощью:

    window.open(…, '… ;scrollbars=no');

    Т.е. наличие или отсутствие скроллеров это вроде как атрибут окна.
    Однако, если мне необходимо включить/выключить скроллеры, то через объект window это сделать невозможно, а нужно обращаться к документу.

    document.body.scroll = 'yes';

    Во первых, это само по себе как-то непонятно. Ведь другие свойства переданные в той же самой строке, например ширину и высоту я меняю у окна легко и непринужденно. Где логика? Кто тут кретин, я или тот кто это придумал?

    Во вторых, если я открыл окно без скроллеров, а потом хочу включить их и перегрузить другой документ:

    document.body.scroll = 'yes';
    document.location = 'newdoc.html';

    то скроллеры появляются и сразу пропадают. Оно и понятно, они установлены для старого документа. Какие будут предложения в данной ситуации?

    ЗЫ. Нашел решение с встроенным в окно ифреймом по всей ширине … но ведь изврат, блин …

  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 1 июля 2008 г. 17:46, спустя 27 минут 5 секунд

    создавай со скролингом а потом отключай

    window.open(…, '… ;scrollbars=yes');
    document.body.scroll = 'no';
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 1 июля 2008 г. 17:55, спустя 8 минут 45 секунд

    А какая разница, что сначала? Ведь гибкого управления все равно нет.

    То есть в каждом загружаемом в окно документе должен присутствовать JS указывающий как его отбражать. Это имеешь ввиду? Это будет работать! Но ведь кривь такой костыль в каждую страницу вставлять.

    Я хочу при загрузке в окно документа, предварительно указать нужны мне скролеры или нет.
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 1 июля 2008 г. 18:21, спустя 25 минут 47 секунд

    AlexB, я не могу научить ходить безногого((( я тебе тока кочтыли придумал
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 1 июля 2008 г. 18:30, спустя 8 минут 50 секунд


    AlexB, я не могу научить ходить безногого((( я тебе тока кочтыли придумал
    Да это понятно. Я вот аналогично, только костыли придумал …

    Но мне еще теоритический аспект интересен. Почему так сделано? Ведь логике противоречит. Задается свойство у окна, а меняется потом у документа …
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 2 июля 2008 г. 10:44, спустя 16 часов 14 минут 16 секунд

    AlexB, декомпилируй экзешник браузера и посмотри все что я могу посоветовать
    у лисы кстати очень прикольные коменты в коде

    вобще я думаю это по историческим причинам произошло
    сначала появился window.open потому что было логично открывать новое окно из объекта окна
    хотя высоту всетаки имеет document (document.height) ну и решили присобачить сюда скролбары

Пожалуйста, авторизуйтесь, чтобы написать комментарий!