【问题标题】:Use modernizr to serve alternate background image for browsers without webgl support?使用modernizr 为不支持webgl 的浏览器提供备用背景图像?
【发布时间】:2016-04-07 22:13:54
【问题描述】:

我的网站背景中有一个 webgl 动画,并希望为没有此功能的浏览器提供一些后备支持。我想在后台提供图像而不是创建动画的 javascript 文件。

Modernizr 提供了一些指导,并表示要设置 if...else 语句来激活替代选项,如下所示:

if (Modernizr.webgl) {
  // supported
} else {
  // not-supported
}

他们还建议使用这个 css 选项:

.no-webgl body { background: red; }

Nether 正在工作。

我不想将我的动画脚本放在 if 语句中,然后在 else 语句中添加类似的内容:

var oldBrowserFix = document.getElementsByName("body");
oldBrowserFix.style.background = '#ff0000';

我还考虑了另一个想法:

do {
  var oldBrowserFix = document.getElementsByName("body");
  oldBrowserFix.style.background = '#ff0000';
} while (!Modernizr.webgl);

我怎样才能让我的do...while 语句起作用?

【问题讨论】:

  • 这可能是一个 bug,需要在 modernizr 团队的 GitHub 上提出。
  • 在哪个浏览器中无法正常工作?你能发布一个演示它是如何不工作的吗?

标签: javascript css if-statement webgl modernizr


【解决方案1】:

将modernizr添加到html文件的底部并在它下面运行:

if (!Modernizr.webgl) {
  document.body.style.backgroundColor = "#000000";
}

【讨论】:

    猜你喜欢
    • 2012-08-22
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 2021-11-16
    相关资源
    最近更新 更多