微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript小书签图片下载会损坏图片 编辑:

如何解决JavaScript小书签图片下载会损坏图片 编辑:

我创建了一个javascript小书签,可以在页面上下载最大的图片,但无法查看下载的图片

javascript:(
function(){
    images = document.querySelectorAll("img");
    image=images[0];
    for (i of images) {
        if (i.height * i.width  > image.height * image.width) { image = i };
    };
    var pom = document.createElement('a');
    pom.setAttribute('href','data:application/octet-stream,' + encodeURIComponent(image.src));
    pom.setAttribute('download',image.src);
    pom.style.display = 'none';
    document.body.appendChild(pom);
    pom.click();
    document.body.removeChild(pom);
}
)();

如果我改用以下几行,它将在另一个选项卡中打开文件而不是保存文件

pom.href=image.src;
pom.download = image.src;

所以我从另一个SO答案中使用了以下行,该行下载了图像但无法打开:

pom.setAttribute('href',' + encodeURIComponent(image.src));

我认为该问题很可能是编码问题,但我不知道如何解决。有帮助吗?

编辑:

在这里找到了解决方案:Chrome 65 blocks cross-origin <a download>. Client-side workaround to force download? 但是它仅在我将命令粘贴到控制台中时有效。当我将其放入书签时,会出现相同的“无法读取标题。图像放大或损坏”错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。