Я не уверен на 100%, но коллекция тегов сценария, возвращаемая document.getElementsByTagName('script')
, не должна включать теги сценария, которые находятся ниже выполняющегося в данный момент . Другими словами, я думаю, что это должно работать:
var arrScripts = document.getElementsByTagName('script');
var strScriptTagId = arrScripts[arrScripts.length - 1].id;
Это будет работать только для скриптов, которые выполняются при загрузке страницы. Если это выполняется в отложенном скрипте или как часть события загрузки страницы, он, скорее всего, всегда будет сообщать о последнем в полностью отрендеренной странице. Обратите внимание, что тег id не является допустимым атрибутом для
, поэтому ваша страница, скорее всего, не пройдет валидацию. Если у вас есть какие-либо внешние скрипты, которые пишут теги script (например, сторонние рекламные объявления), я думаю, что код будет непредсказуемым. Я играл с этой идеей пару лет назад, и результаты были неудовлетворительными.