Как определить, что загрузка сценария файла: // URL не выполняется в Firefox?

Я хочу определить, не загружается ли тег скрипта (который был динамически создан и добавлен в DOM). Событие onerror работает, за исключением URL-адресов file: // в Firefox.

К сожалению, ни один из методов , описанных здесь (кроме тайм-аутов, которые в моем случае недопустимы), похоже, не работает в Firefox, если src тега скрипта - это файл: // URL-адрес (или относительный URL-адрес, и страница была загружена через URL-адрес file: //)

Тестовый пример:

var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', 'doesnotexist.js');
script.onerror = function() { alert("Loading failed!"); }
document.getElementsByTagName('head')[0].appendChild(script);

Загрузите это на HTML-страницу с URL-адресом file: //. Событие onerror не будет выполняться в Firefox. Загрузите с веб-сервера, Safari или Chrome, и он будет.

Мне это кажется ошибкой. Есть ли какой-нибудь способ обойти это?

6
задан Community 23 May 2017 в 12:26
поделиться