Modal ExtJS Window不会在Safari和Chrome中屏蔽其背后的所有内容

时间:2010-02-12 09:23:10

标签: safari extjs

我想知道是否有人可以帮我解决这个问题。每次我显示一个Ext.Window,其模态配置设置为true,在FF和IE中,它工作正常,我的意思是弹出窗口后面的一切都被屏蔽,而在Safari和Chrome中,它没有。当我尝试向下滚动页面时,我可以看到掩码是有限的,这不是我想要发生的,因为即使窗口尚未关闭,也可以轻松地在父页面上执行某些操作。有人能帮助我吗? Thanx提前。 :d

3 个答案:

答案 0 :(得分:1)

我想如果你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>

答案 1 :(得分:0)

它应该可以在Safari和Chrome中正常使用。我刚刚在Safari 4.0.4 Mac中验证了this page,它可以在滚动和/或调整浏览器大小时正常工作。在你的特定浏览器/平台上有可能存在Ext的错误,但这是一个我怀疑的基本功能。该页面适合您吗?

答案 2 :(得分:0)

这有助于将Ext.Msg.show()警报的z-index设置为它们为我打开的窗口的前面。

Ext.WindowMgr.zseed = 10000;