Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在chrome extension中下载画布作为图像_Javascript_Html_Canvas_Google Chrome Extension - Fatal编程技术网

Javascript 在chrome extension中下载画布作为图像

Javascript 在chrome extension中下载画布作为图像,javascript,html,canvas,google-chrome-extension,Javascript,Html,Canvas,Google Chrome Extension,以下代码适用于我在自定义html页面中将画布作为图像下载: var save = function() { var x= document.getElementById("output-canvas"); var dt = x.toDataURL('image/png'); this.href = dt; }; downloadLink.addEventListener('click', save, false); 但是对

以下代码适用于我在自定义html页面中将画布作为图像下载:

var save = function() {
            var x= document.getElementById("output-canvas");
            var dt = x.toDataURL('image/png');
            this.href = dt;
};
downloadLink.addEventListener('click', save, false);
但是对于我正在开发的chrome插件中的popup.html中的canvas,它不起作用(没有任何错误)

有人能帮我找到一个在chrome插件中下载画布项目的解决方案吗

编辑:

这是我的清单文件:

{
  ...
  "permissions": [ "contextMenus", "tabs", "http://*/*", "https://*/*", "activeTab", "storage"],
  ...
}
检查表:

  • manifest.json中应允许在画布上绘制图像URL:

  • link元素应具有包含要保存的文件名的:

    <a download="test.png" href="...">Save me</a>
    
  • 检查表:

  • manifest.json中应允许在画布上绘制图像URL:

  • link元素应具有包含要保存的文件名的:

    <a download="test.png" href="...">Save me</a>
    

  • 你的manifest.json的“权限”值是多少?您是否将任何图像元素放入画布?@wOxxOm我已编辑我的问题并添加清单信息。如果我理解的很好,你的下一个问题答案是肯定的。嗯,假设原始图像有http://或https://URL,权限似乎没问题。以防万一,你看了那张照片了吗?(它在不同的地方)@wOxxOm是的,它有。是的,两个控制台看起来都很清楚。当右键单击画布时,我也看不到“将图像另存为…”。这可能与这个问题有关。知道吗?我想你的link元素没有
    download
    属性。你的manifest.json的“permissions”值是多少?您是否将任何图像元素放入画布?@wOxxOm我已编辑我的问题并添加清单信息。如果我理解的很好,你的下一个问题答案是肯定的。嗯,假设原始图像有http://或https://URL,权限似乎没问题。以防万一,你看了那张照片了吗?(它在不同的地方)@wOxxOm是的,它有。是的,两个控制台看起来都很清楚。当右键单击画布时,我也看不到“将图像另存为…”。这可能与这个问题有关。知道吗?我猜你的link元素没有
    download
    属性。
    var link = document.createElement('a');
    link.download = 'test.png';
    link.href = canvas.toDataURL('image/png');
    document.body.appendChild(link);