javascript - Canvas 无法在 Firefox 上加载

标签 javascript jquery html canvas

这个函数有什么问题吗?

window.LoadImage = function(el, canvasId){
            var canvas = document.getElementById(canvasId);
            var context = canvas.getContext("2d");
            var dialogCanvas = document.getElementsByClassName('dialogCanvas');
            var dialogContext = dialogCanvas[0].getContext("2d");
            var reader = new FileReader();
            reader.onload = function(event){
                var img = new Image();
                img.onload = function(){
                    var w = 545;
                    var imgW = img.width;
                    var imgH = img.height;
                    var dialogW = dialogCanvas[0].width;
                    var dialogH = dialogCanvas[0].height;

                    h = (imgH / imgW) * w;
                    dialogH = (imgH / imgW) * dialogW;  

                    context.clearRect(0, 0, w, imgH);
                    dialogContext.clearRect(0,0, dialogW, 250);
                    canvas.width = w;
                    canvas. height = h;
                    context.drawImage(img,0,0,w,h);
                    dialogContext.drawImage(img,0,0,dialogW, dialogH);

                }
            img.src = event.target.result;

            }
            reader.readAsDataURL(event.target.files[0]); 
        }

我正在尝试使用此函数绘制 2 个不同的 Canvas 。两者都不适用于 Firefox。而且这该死的东西可以在 Chrome 和 IE 上运行。

“dialogCanvas”是一个预览,位于 jquery 模式框内,另一个使用“canvasId”参数访问,其值为 display = "none" ,在页面中。

我在 Firefox 上没有收到任何错误。事实上,我什至无法调试它。

提前致谢。

编辑 jsfiddle = http://jsfiddle.net/cgEv8/

最佳答案

这一行:

        reader.readAsDataURL(event.target.files[0]); 

指的是“事件”。那是哪里?在某些浏览器中它是一个全局对象,但在 Firefox 中不是。

关于javascript - Canvas 无法在 Firefox 上加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20384622/

相关文章:

javascript - 如何使 getJSON 代码看起来更简洁?

javascript - 如何离线保存html表单的状态并允许加载

javascript - jQuery - 使用 $.get() 加载文本文件在 Internet Explorer 中有效,但在 Google Chrome 或 Firefox 中无效?

html - 悬停在元素上时如何不影响相邻元素?

android - phonegap 中的水平 ScrollView

javascript - Angularjs 表单验证仅在表单字段发生更改时才有效

javascript - 单击 Whatsapp 网络中联系人列表中的联系人之一 (javascript)

javascript - 动态 Canvas 形状未填充颜色

javascript - jQuery窗口 'hashchange' switch语句效率

html - 使用 css sprites 在 three.js 中加载纹理