我有一个asp.net网络应用程序。
我使用网络套接字和HTML5 /画布将图像渲染到我的网页。
这就是JS:
function setUpImageProc() {
desktopImage.onload = function () {
ctxLiveViews.drawImage(desktopImage, 0, 0, 360, 240);
}
}
var desktopImage = new Image;
ws.onmessage = function (e) {
desktopImage.src = 'data:image/jpeg;base64,' + arrayBufferToBase64(e.data);
};
setUpImageProc();
var canvasLiveViews = document.getElementById("canvasLiveView1");
ctxLiveViews = canvasLiveViews.getContext("2d");
canvasLiveViews.width = 360;
canvasLiveViews.height = 240;
现在这已经习惯了
它不再适用于Chrome
它适用于Edge
如果我禁用硬件加速,它将工作
如果我使用<img>
而不是<canvas>
,那么它就会起作用。
我认为这是由于Chrome浏览器的升级,但我很惊讶没有其他人抱怨过这个问题?
我上面的JS脚本是否正确或设置错误?
附加要点: 没有控制台消息
onMessage处理程序肯定会触发
我包装onLoad函数,因为它存储在外部文件中,我在将此脚本加载到页面时遇到问题。通过做我所做的似乎解决了这个问题,虽然我将不得不发布更多的代码来证明这一点。
我尝试直接加载画布而不是使用onLoad事件