我有一个

HTML5画布,我从svg中绘制一个图像.

HTML

JavaScript的

var DOMURL = window.URL || window.webkitURL || window;

var data = ''+

''+

'

'foreignObject {'+

'background-color: #000;'+

'color: #fff'+

'border-radius: 10px;'+

'}'+

'h1 {'+

'color: #2acabd;'+

'font: 25px arial;'+

'font-weight: bold;'+

'text-align: center;'+

'}'+

'h2 {'+

'margin: 0;'+

'color: #2acabd;'+

'font: 15px arial;'+

'}'+

'p {'+

'color: #fff;'+

'}'+

''+

'

'+

'

Heading

'+

'

'+

'

'+

'

Full Name

'+

'

Alan Johnson

'+

'

Date of Birth

'+

'

7th November 1988

'+

'

34329483028493284093284432

'+

'

'+

'

'+

'

'+

''+

'';

var canvas = document.getElementById("canvas");

var ctx = canvas.getContext("2d");

img = new Image();

img.setAttribute("crossOrigin", "anonymous");

var svg = new Blob([data], {type: 'image/svg+xml;charset=utf-8'});

var url = DOMURL.createObjectURL(svg);

img.onload = function() {

ctx.drawImage(img, 0, 0);

DOMURL.revokeObjectURL(url);

console.log(canvas.toDataURL());

}

img.src = url;

当我调用canvas.toDataURL()时,我得到了异常:

(index):98 Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.

我已经在Stack Overflow上看到了与此异常相关的许多其他问题和答案.我的问题是不同的,因为(正如你所看到的)我不是在任何一点,包括我的svg或画布中来自另一个域的任何图像.

我猜测问题是我正在使用DOMURL.createObjectURL创建一个对象URL.

我知道在不同的浏览器中执行此操作存在一些兼容性问题,但此应用只​​需要在Chrome中运行.此外,直接在画布上绘制文本不是一个选项,我必须通过svg.

关于如何解决这个问题,并成功获得我的画布的PNG的任何想法?

html5导出错误,JavaScript:toDataUrl()抛出“安全错误:可能无法导出受污染的画布”. - 程序园...相关推荐

  1. php oracle 无查询结果,php - Oracle Insert查询不起作用,也不会抛出任何错误 - 堆栈内存溢出...

    嗨,我是Oracle的新手. 我试图在PHP中使用oracle将记录插入表中. 但它不起作用,也没有抛出任何错误. 以下是我的代码. 请告诉我我做错了什么. $insertSQL= "INS ...

  2. 一个js文件 多个html文件怎么打开,通过PHP在PhantomJs中打开多个html文件抛出语法错误...

    我想让我的php脚本从命令行调用phantomjs,这将从许多html文件中生成多个pdf.所以我有一个连接字符串与路径我的HTML文件,接下来我调用exec命令:通过PHP在PhantomJs中打开 ...

  3. getch计算机错误,为什么getch()在C中抛出一个错误

    我正在Windows XP中的Code :: Blocks中运行一个C程序. 我得到一个错误为什么getch()在C中抛出一个错误 "drawing operation is attempe ...

  4. caffe cmake matlab,编译caffe时候抛出的错误

    编译caffe时候抛出的错误 我在安装ubuntu14.04上安装了cuda7.5,cudnn4.0等,使用起来都挺好的,没什么问题,最近,把21天实战caffe上面第五天的以来库都装完之后,准备装m ...

  5. Traceback抛出详细错误信息

    Traceback抛出详细错误信息 1.概述 在python默认的抛出异常错误信息中给出的提示很少时不利于定位问题原因,需要一个详细的信息辅助定位问题,使用Traceback模块可以打印出详细的信息, ...

  6. mvc4 renderpartial html,MVC4使用嵌套@ Html.RenderPartial()抛出编译器错误信息:CS1502...

    我使用MVC 4,想整理一下我的看法了一点,所以决定创建多个局部视图和渲染过程中把他们聚在一起.MVC4使用嵌套@ Html.RenderPartial()抛出编译器错误信息:CS1502 这个工作原 ...

  7. 如何友好的处理 WebApi 中抛出的错误

    微软的 ASP.NET Web API 是一个轻量级的web框架,可用来构建基于 http 无状态的rest服务,异常是一种运行时错误,异常处理是一种处理运行时错误的技术,每一个开发者都应该知道如何处 ...

  8. 解决oracle数据库的表中存在异常日期值在查询时抛出ora-01841错误的办法

    生产环境的服务器上,在查询时抛出SQLDataException,错误代码为ora-01841 ORA-01841: (完整) 年份值必须介于 -4713 和 +9999 之间, 且不为 0 经排查是 ...

  9. java 主动抛出 段错误_段错误产生的原因~

    原文:https://blog.csdn.net/qq_29350001/article/details/53780697 一.什么是段错误? 一旦一个程序发生了越界访问,cpu 就会产生相应的保护, ...

最新文章

  1. Geoderma:南土所梁玉婷组-施用粪肥土壤中抗生素抗性基因和金属抗性基因的共存机制...
  2. A+B Problem
  3. 在一个无序的int数组上构建一个最小堆的时间复杂度_漫画:寻找无序数组的第k大元素(修订版)...
  4. BGP路由反射器和防环机制
  5. 第二次冲刺阶段(第七天)
  6. 经济学家Alex Kruger:DeFi是比特币的自然演变
  7. POJ 1004:Financial Management
  8. 马斯克回应停工事件:Model 3周产量将达6000辆,不开玩笑哦
  9. 【Hadoop】Hadoop生态圈基本组件介绍
  10. Git_Eclipse:[2]Git初始化配置
  11. php网站开发实例教程源码,PHP+MYSQL网站开发全程实例
  12. StudioOne5最新版本电音制作软件
  13. 风入松——北大校园的风入松书店不知何处去
  14. Halcon提取中心线
  15. 【AppStore排行榜游戏安利】目录
  16. 正确认识智能视频分析技术
  17. Learning Standard C++ as a New Language ( By Bjarne Stroustrup )
  18. matlab中转置运算符,MATLAB 软件中,运算符 / 表示()运算。A. 乘法B. 除法C. 乘方D. 矩阵转置...
  19. 已有定义int x=57,用isprime()来判断整型数x是否为素数
  20. 3032. 是坚挺数吗?

热门文章

  1. Google I/O 2019大会 Android主题会议
  2. Sublime Text 插件-全栈开发收集
  3. php网页登录制作,thinkphp5 系统登录的实现
  4. OPENCV数据结构体系和常用函数
  5. python调用库有哪些_十大Python机器学习常用库 python开发,你用过几个?
  6. 分布式项目-Nginx安装(反向代理)
  7. linux入门 适合初学者_听说 C++ Primer-不适合初学者入门!元芳,你怎么看呢?
  8. mysql如何保证数据不丢失_23 | MySQL是怎么保证数据不丢的?
  9. Day06,selenium的剩余用法、万能登录破解和爬取京东商品信息,及破解极验滑动验证码...
  10. java.lang.InstantiationException: DWR can't find a spring config. See the logs for solutions