JavaScript Загрузить изображение из ссылки [дубликат]

В Python 3.x / означает деление с плавающей запятой и может давать небольшие ошибки округления. Используйте // для целочисленного деления.

ans = a // (b*c)
40
задан Derek 朕會功夫 1 December 2015 в 09:33
поделиться

2 ответа

Проблема заключается в том, что jQuery не запускает собственное click событие для элементов <a>, так что навигация не происходит (нормальное поведение <a>), поэтому вам нужно сделать это вручную. Для почти всех других сценариев запускается собственное DOM-событие (по крайней мере, попытка - это попытка try / catch).

Чтобы запустить его вручную, попробуйте:

var a = $("<a>")
    .attr("href", "http://i.stack.imgur.com/L8rHf.png")
    .attr("download", "img.png")
    .appendTo("body");

a[0].click();

a.remove();

DEMO: http://jsfiddle.net/HTggQ/

Соответствующая строка в текущем источнике jQuery: https://github.com/jquery/jquery/blob/ 1.11.1 / src / event.js # L332

if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&
        jQuery.acceptData( elem ) ) {
65
ответ дан drzaus 15 August 2018 в 23:36
поделиться

Как пояснил @Ian , проблема в том, что jQuery's click() не совпадает с исходным.

Поэтому рассмотрим использование vanilla-js вместо jQuery:

var a = document.createElement('a');
a.href = "img.png";
a.download = "output.png";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);

Демо

41
ответ дан Community 15 August 2018 в 23:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: