iPad Ibooks Javascript画布DrawImage不工作

iPad Ibooks Javascript画布DrawImage不工作,ipad,canvas,epub,drawimage,ibooks,Ipad,Canvas,Epub,Drawimage,Ibooks,我有一个下面的脚本,它在我的windows浏览器中工作。但这段代码在Epub电子书中不起作用(在我的iPad iBooks中) var canvas=document.getElementById(“e”); var context=canvas.getContext(“2d”); var myImg=新图像(); myImg.src=“../Images/box.jpg”; myImg.onload=函数(){ drawImage(myImg,0,0); }; 是的,没错。iBooks似乎支

我有一个下面的脚本,它在我的windows浏览器中工作。但这段代码在Epub电子书中不起作用(在我的iPad iBooks中)


var canvas=document.getElementById(“e”);
var context=canvas.getContext(“2d”);
var myImg=新图像();
myImg.src=“../Images/box.jpg”;
myImg.onload=函数(){
drawImage(myImg,0,0);
};

是的,没错。iBooks似乎支持很多画布,但不支持drawImage功能。我在一两个月前向苹果提交了这篇文章,但还没有收到关于这是一个bug还是预期行为的回复。这可能是因为某些安全原因而不起作用,但考虑到它在移动Safari中的作用,这似乎有些奇怪。

首先,向Derrick Schultz提出一个问题。你是如何向苹果提交错误报告的

这是我自己的发现

平台:iPad iBooks。埃普。Javascript

帆布。drawImage()函数。 不起作用。甚至当页面“刷新”(或通过旋转iPad重新分页)时也不行。这个解决方案是完全不可能的

以前的解决方案现在似乎是唯一的部分解决办法

所以,是的。Canvas和drawImage()在iPad中不起作用

隐藏元素,首先在屏幕上渲染 我为我想通过交互(Javascript)显示的所有图像创建了元素

关键步骤。我确保首先在屏幕上呈现(可见)所有图像。我必须为此执行setTimeout()

问题:什么是iBooks事件让我知道所有图像都呈现在屏幕上<代码>windows。onLoad
不起作用。即使是对所有单个图像的
onLoad
,也不起作用

然后我隐藏了(
display:none
)所有图像,并在用户输入时显示它们

工作

唯一的问题是,不能全部显示在屏幕上的大图片(因为我必须先全部显示)将无法工作。它们不会呈现在屏幕上。您可以通过在iBooks上打开
滚动视图
来验证这一理论。当
滚动视图
处于启用状态时,所有图像(无论大小)都可以呈现在屏幕上

附言:哇。Stackoverflow不允许对答案发表评论(寻求澄清)(需要50个信誉点)。但它允许我发布一个答案

<canvas id="e" width="177" height="113"></canvas>
<script>
    var canvas = document.getElementById("e");
    var context = canvas.getContext("2d");
    var myImg = new Image();
    myImg.src = "../Images/box.jpg";
    myImg.onload = function() {
        context.drawImage(myImg, 0, 0); 
    };
</script>