Javascript toDataURL HTML5的问题-获取画布数据的其他方法?

Javascript toDataURL HTML5的问题-获取画布数据的其他方法?,javascript,html,canvas,Javascript,Html,Canvas,我正在使用canvas预绘制图片,然后需要使用canvas.toDataURL()将其保存到图像对象,但在Chrome上,我收到错误“Uncaught SecurityError:未能在“HtmlCanvaElement”上执行“toDataURL”:可能无法导出受污染的画布。“我需要在本地工作,但这意味着使用Chrome在本地似乎无法工作。”。所以问题是,即使在本地运行时,如何从画布获取数据? 另外,这在firefox上运行良好,但在Chrome上不起作用。您可能使用的是file://文件,它

我正在使用canvas预绘制图片,然后需要使用canvas.toDataURL()将其保存到图像对象,但在Chrome上,我收到错误“Uncaught SecurityError:未能在“HtmlCanvaElement”上执行“toDataURL”:可能无法导出受污染的画布。“我需要在本地工作,但这意味着使用Chrome在本地似乎无法工作。”。所以问题是,即使在本地运行时,如何从画布获取数据?
另外,这在firefox上运行良好,但在Chrome上不起作用。您可能使用的是file://文件,它在Chrome(或将来的其他浏览器)上不起作用

有两种方法可以解决这个问题:

  • 使用
    “C:\PathTo\Chrome.exe”-允许从文件访问文件
  • 在本地计算机上安装一个轻量级的web服务器,这样您就可以通过localhost/127.0.0.1访问该页面,例如(或Apache/LAMP等)

  • 从文件://协议加载图像被视为违反CORS,这意味着您将无法从画布中提取像素(
    toDataURL()
    getImageData()

    谢谢,但这在其他计算机上不起作用,例如,如果我在库中使用此网页,我将无法安装所有服务器,我正在寻找一种更适合Javascript的方法。否则我只能被迫使用firefox@androidmaster使用JavaScript无法解决这个问题。这是所有浏览器都将采用的安全功能,以保护用户不受链接到硬盘上某个位置的页面等的影响:(那么,再见,不再在脱机时玩webgl游戏了。)