【问题标题】:jquery plugin 'blockUI' doesn't gray out screen in firefoxjquery插件'blockUI'不会在Firefox中灰显屏幕
【发布时间】:2012-02-03 20:04:45
【问题描述】:

我在执行 ajax 操作时尝试使用 blockUI 来阻止我的 Web 应用程序的界面,但在 Firefox 中屏幕拒绝为我灰显(尽管确实显示了消息框)。我终于发现除了对 jquery 的fadeIn 或 show 的调用之外,一切正常。

blockUI 从显式声明样式为“display: none;”的元素开始并调用 jquery 的“fadeIn()”或“show()”函数来显示它们。我在 jquery 或 blockUI 中是否缺少任何可以解释此行为的内容?

编辑:我刚刚发现代码可以在 Windows Firefox 中找到;我遇到的问题是在 Ubuntu 上。我不知道它是否会影响 OS X。

【问题讨论】:

  • 你能在 JSFiddle 上的一个小测试用例中重现吗?
  • 我已经确认上述方法在 ubuntu 11.10 上的 firefox 8 中不起作用,而 chrome 则没有问题。
  • 我刚刚发现问题似乎仅限于 Ubuntu(没有尝试过 OS X)。我在上面已经注意到了。
  • 我玩了一会儿,感觉很奇怪。在 Linux Mint 的 FF 中,叠加层很好(它实际上确实阻止了它后面的东西),但是它缺少背景颜色和不透明度样式。所以看起来在 FF 中,它忽略了 blockUI.defaults.overlayCSS 部分。在 Chrome 中,这些样式是直接在 HTML 覆盖元素上设置的,所以看起来是正确的。但是我对blockUI一无所知,所以我能做到的就这么多。

标签: jquery firefox blockui jquery-blockui


【解决方案1】:

根据plugin's FAQ解决

为什么我在 Linux 上的 FF 中看不到覆盖?

有几个人告诉我,FF/Linux 中的整页不透明度渲染速度非常慢,因此默认情况下该平台禁用它。您可以通过覆盖 applyPlatformOpacityRules 属性来启用它,如下所示:

// enable transparent overlay on FF/Linux 
$.blockUI.defaults.applyPlatformOpacityRules = false;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 1970-01-01
    • 2012-12-19
    • 2011-02-21
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多