Убедитесь, что файл был загружен / загружается или был заблокирован Adblock - PullRequest
0 голосов
/ 12 июня 2018

Я загружаю файл (в JavaScript), расшифровываю его с помощью библиотеки, а затем создаю URL-адрес BLOB-объекта.Это происходит в результате взаимодействия с пользователем, когда пользователь нажимает на ссылку.Поэтому я не пытаюсь никого обмануть.Чтобы загрузить файл после его расшифровки, я использую следующий код:

var a = document.createElement('a');
a.href = 'blob:foo';
a.target = '_blank';
a.download = 'foo.jpg';
a.click();

Однако это не всегда успешно.

Когда это всегда успешно?

  • Когда пользователь не использует блокировщик рекламы.

Когда это не успешно?

  • Если пользователь использует блокировщик рекламы, который блокирует URL-адреса больших двоичных объектов (например, Adblock Plus через EasyList) и не поддерживает атрибут download .

SoЯ хочу показать пользователю предупреждение, если загрузка не удалась.Есть ли способ обнаружить это?

Моя текущая идея заключается в следующем:

  • Определить, есть ли блокировщик рекламы
  • Проверить, поддерживается ли атрибут загрузки (!window.externalHost && 'download' в createElement ('a'))
  • Уведомление пользователя о потенциальных проблемах

1 Ответ

0 голосов
/ 28 июля 2018

блокировщики рекламы не блокируют загрузку, если только запрошенный URL-адрес не соответствует фильтру в списках фильтров, выбранных пользователем.

Я предлагаю вам найти этот фильтр и обойти его, или связаться сСообщество easylist, поэтому ваш URL больше не блокируется.

Вот их форум: https://forums.lanik.us/

...