<canvas>无法在IE10中运行</canvas>

时间:2013-08-27 08:50:18

标签: html5 canvas internet-explorer-10

我根本没有运气。基本上,徽标显示静态默认值而不是IE10的动画。在这方面没有任何其他浏览器的问题。

徽标动画是使用Adobe CS6导出创建的。

网站:http://barn2media.co.uk/northbromsgrove/

代码:

<script>
// Animated Logo
var canvas, stage, exportRoot;

function init() {
    canvas = document.getElementById("canvas");
    images = images||{};

    var manifest = [
        {src:"images/bg.png", id:"bg"}
    ];

    var loader = new createjs.LoadQueue(false);
    loader.addEventListener("fileload", handleFileLoad);
    loader.addEventListener("complete", handleComplete);
    loader.loadManifest(manifest);
}

function handleFileLoad(evt) {
    if (evt.item.type == "image") { images[evt.item.id] = evt.result; }
}

function handleComplete() {
    exportRoot = new lib.north6copycs6450();

    stage = new createjs.Stage(canvas);
    stage.addChild(exportRoot);
    stage.update();

    createjs.Ticker.setFPS(35);
    createjs.Ticker.addEventListener("tick", stage);
} 
</script>

希望有人能提供帮助,非常感谢。

2 个答案:

答案 0 :(得分:1)

F12并查看右上角,检查IE是否设置为“兼容模式”。如果是这样,请将其设置回常规IE10模式。

答案 1 :(得分:0)

最后想出了为什么徽标默认为IE10中的静态图像而不是IE9 ......这是一个PHP问题。

基本上,为了让静态图像在IE8中显示一系列图像(取决于页面),如果用户在IE8或以下浏览时,我使用以下内容显示静态图像:

if ( preg_match("/(?i)msie [1-8]/",$_SERVER['HTTP_USER_AGENT'])) { 
echo 'IE 8 and below image here';
} else {
echo 'IE 9 and above here';
}

解决方案

显然,在1-8引用之后不添加\./,此代码在默认输出中包含IE10。

if ( preg_match("/(?i)msie [1-8]\./",$_SERVER['HTTP_USER_AGENT'])) {
echo 'IE 8 and below image here';
} else {
echo 'IE 9 and above here';
}