Модальное окно ExtJS не маскирует все, что находится за ним в Safari и Chrome

Мне было интересно, может ли кто-нибудь помочь мне с этой проблемой. Каждый раз, когда я показываю Ext.Window с его модальной конфигурацией, установленной на true, в FF и IE он работает нормально, я имею в виду, что все, что находится за всплывающим окном, маскируется, тогда как в Safari и Chrome это не так. Когда я пытаюсь прокрутить страницу вниз, я вижу, что маска ограничена, а это не то, чего я хотел, потому что можно легко делать некоторые вещи на родительской странице, даже когда окно еще не закрыто. Кто-нибудь может мне помочь? Спасибо заранее. :D


person Diane    schedule 12.02.2010    source источник


Ответы (3)


Я подумал, что, возможно, это произойдет, если вы не работаете в Viewport, поэтому я собрал простой пример. Оказывается, в этом примере модальная маска прекрасно работает в Safari. Попробуйте и посмотрите, чем ваш код отличается.

<html>
  <head>
    <link rel="stylesheet" href="ext-3.1.1/resources/css/ext-all.css" />
    <script src="ext-3.1.1/adapter/ext/ext-base.js"></script>
    <script src="ext-3.1.1/ext-all-debug.js"></script>
    <script>
      Ext.BLANK_IMAGE_URL = 'ext-3.1.1/resources/images/default/s.gif';
      Ext.onReady(function(){
        var p = new Ext.Panel({
          renderTo: 'panel',
          html: 'this is the panel',
          tbar: [{
            text: 'Show a Modal Window',
            handler: function() {
              new Ext.Window({
                title: 'Title',
                html: 'Try scrolling - the entire page should be modal',
                modal: true
              }).show();
            }
          }]
        });
      });
    </script>
  </head>
  <body>
    <h1 style="height:100px;background-color:green;">html page</h1>
    <div id="panel"></div>
    <h1 style="height:1200px;background-color:green;">html page</h1>
  </body>
</html>
person Jonathan Julian    schedule 12.02.2010

Он должен нормально работать в Safari и Chrome из коробки. Я только что проверил эту страницу в Safari 4.0. .4 Mac, и он отлично работает с прокруткой и/или изменением размера браузера. Есть вероятность, что в Ext есть ошибка для вашего конкретного браузера/платформы, но это настолько базовая функциональность, что я в этом сомневаюсь. Эта страница работает для вас?

person Brian Moeskau    schedule 12.02.2010

Это помогло установить z-индекс для предупреждений Ext.Msg.show() перед окном, из которого они были открыты для меня.

Ext.WindowMgr.zseed = 10000;
person Jack Kleinman    schedule 20.05.2010