从JavaScript/jQuery下载png

从JavaScript/jQuery下载png,javascript,jquery,html,image,download,Javascript,Jquery,Html,Image,Download,编辑: 发现我的错误: 第3行在本例中,$(this)选择器在本例中无效。因此,将跳过该命令,不设置下载属性,浏览器将尝试导航到禁止的dataUrl,而不是下载。提示错误 我有一个PWA,它将图像存储为base64 PNG。我想让用户选择下载到他们的设备。 之前我使用了这个非常简单的代码,其中myAnchor是HTML中的一个锚标记,pic包含base64 png: function imgDownload(pic) { $('#myAnchor').attr('href', pic); $(t

编辑:
发现我的错误
第3行在本例中,$(this)选择器在本例中无效。因此,将跳过该命令,不设置下载属性,浏览器将尝试导航到禁止的dataUrl,而不是下载。提示错误

我有一个PWA,它将图像存储为base64 PNG。我想让用户选择下载到他们的设备。
之前我使用了这个非常简单的代码,其中myAnchor是HTML中的一个锚标记,pic包含base64 png:

function imgDownload(pic) {
$('#myAnchor').attr('href', pic);
$(this).attr('download', 'image.png');
$('#myAnchor')[0].click();}
因此:只需将href设置为图像,设置下载属性和文件名,然后单击链接触发下载。但Chrome 60或Chrome 61打破了这一点(显然是出于安全原因),现在导致了以下错误:

不允许将顶部框架导航到数据URL:[my b64 png]


是否有(最好不要太复杂)客户端替代方案来实现相同的功能?它只需要在Chrome中工作,更多的浏览器兼容性当然很好,但不是必需的。

看看:。我可以在Canary v62和v63中很好地运行它。你能确认一下吗?是的,提琴在金丝雀和马厩里都很好。我不知道为什么会在我的网站上出现错误——也许jQM在后台做了一些不好的事情?但无论如何,我找到了一个解决方案:动态添加/删除所需的下载链接,而不是调整HTML中预先存在的隐藏链接。(见我提交的答案)没关系,我发现了真正的错误。编辑我的问题。