【问题标题】:Alternative to WebGL if not loading如果不加载,则替代 WebGL
【发布时间】:2012-09-17 03:28:08
【问题描述】:

我在 iframe 中有一些 WebGL 的东西。在某些 Web 浏览器或旧计算机上,无法加载 iframe。发生这种情况时,我想加载图像。有可能吗?如果可以,该怎么做?

谢谢

【问题讨论】:

  • 如果您可以edit your question 并添加一些您已经尝试过的代码,那就太好了。这样您将获得更好、更准确的答案。

标签: php javascript html webgl alt


【解决方案1】:

<script>中的问题:

首先,您的<script> 标记中似乎存在一些问题。 <script> 标签内有普通的 <center><iframe ... HTML 标签,它不起作用,因为这里应该只有 javascript。还缺少一些; 分号。

检测WebGL的解决方案:

你可以试试这个,但我也建议在我的回答末尾查看链接的网站:

?>
<script type="text/javascript">
if (!window.WebGLRenderingContext) {
    var myImage = new Image();
    myImage.src = "http://domain.tld/picture.jpg";
    $(myImage).prependTo(document.body);
} else {
    $(document.body).prepend('<center><iframe ALLOWTRANSPARENCY="true" frameborder="0" height="340" width="454" src="CORRECT THIS FIELD"></iframe></center>');
}
</script>
<?php

只需为 PHP 添加echos 并更正&lt;iframe src="CORRECT THIS FIELD"&gt; 属性,还将图片网址设置为真实存在的内容。

您可以使用 '#myWebGLArea' 代替 document.body 并将 &lt;div id="myWebGLArea"&gt;&lt;/div&gt; 添加到您的页面。

更多主题:

还可以查看https://gist.github.com/1709384 的 WebGL 检测脚本和另一个 Q/A https://stackoverflow.com/a/9904965/1338846

【讨论】:

    【解决方案2】:

    是否支持 WebGL 最好检查方式与在 Javascript 中相同

    WebGLRenderingContext gl = canvas.getContext("experimental-webgl")
    
    if(!gl)
    {
        $("#image").show()
    }
    

    【讨论】:

    • 不客气,如果它回答了你的问题..你可以点击旁边的接受
    • 嗨,谢谢你的回答,但我无法让它工作。我的代码是:echo''; 但既没有 webgl 动画也没有图片
    • 请您预先定义图像,我只是展示如何检查 webGL
    猜你喜欢
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    相关资源
    最近更新 更多