Javascript 如何使用从Phonegap应用程序运行的画布启用CORS?
我使用KineticJS将图像添加到画布元素,当添加任何图像时,由于CORS安全问题,我无法获取渲染画布的dataUrl 我在StackOverflow上找到的修复建议在“服务器”上传递一个allow access origin头,但由于这是一个在iPad上运行的本地应用程序,因此没有服务器,因此它被认为是本地的 是否有一个变通方法来启用dataUrl功能,这样我就可以在iPad上本地运行时保存“受污染”的画布 我用于获取URL的代码如下所示:Javascript 如何使用从Phonegap应用程序运行的画布启用CORS?,javascript,html,cordova,canvas,Javascript,Html,Cordova,Canvas,我使用KineticJS将图像添加到画布元素,当添加任何图像时,由于CORS安全问题,我无法获取渲染画布的dataUrl 我在StackOverflow上找到的修复建议在“服务器”上传递一个allow access origin头,但由于这是一个在iPad上运行的本地应用程序,因此没有服务器,因此它被认为是本地的 是否有一个变通方法来启用dataUrl功能,这样我就可以在iPad上本地运行时保存“受污染”的画布 我用于获取URL的代码如下所示: $(document).on("tap", "#s
$(document).on("tap", "#share-menu-button", function() {
stage.toDataURL({
callback:function(dataUrl) {
alert(dataUrl);
}
});
});
我试图在Cordova的iOS上使用“file:///”方案对图像执行canvas.todata URL,并得到了各种错误,包括:“访问控制不允许Origin null允许Origin。” 对我有效的解决方案包括两个步骤:
如果本地在这里表示文件://它仍然被视为不同的来源,您至少需要一个本地服务器来从中提供页面和图像。如果是本地的,您是否也可以从
文件://
加载包含画布元素的页面?不确定这是否有效,但它可能。。。例如,创建一个
,其中src
指向file://some/path/somefile.html
。