var js = document.createElement("script");
js.type = "text/javascript";
js.innerHTML = layout[i].text;
document.body.appendChild(js);
Я добавляю такой скрипт, замечаю, что нет src
, но innerHTML
вместо этого, скрипт извлекается по требованию с помощью XMLHttpRequest
. К сожалению, скрипт не появляется в инструментах dev, а не в Chrome, а не в Firefox.
Как добавить скрипт из исходной строки, чтобы я мог отлаживать его в devtools?
Чтобы иметь возможность отлаживать динамически добавленные скрипты в Chrome, вам нужно добавить //# sourceURL = test_file_name.js в конце скрипта, который вы хотите отлаживать, например ниже
var js = document.createElement("script");
js.type = "text/javascript";
js.innerHTML = layout[i].text + "//# sourceURL=test_file_name.js";
document.body.appendChild(js);
Теперь, если вы откроете вкладку source в консоли Dev, вы найдете test_file_name.js в разделе (без домена) (обычно). Я просто проверил его в Chrome версии 67.0.X
Я считаю, что то же самое должно работать и с Firefox,
См. Также эти ссылки,
Исправлено синтаксис sourceMappingURL и sourceURL
Обновление: это не работает в firefox. Для этой проблемы создано несколько ошибок, но до сих пор не исправлено, скриптовый тег с использованием sourceURL не отображается в панели источников отладчика
XMLHttpRequest