>웹 프론트엔드 >JS 튜토리얼 >현재 스크립트를 로드한 스크립트 요소를 찾는 방법은 무엇입니까?

현재 스크립트를 로드한 스크립트 요소를 찾는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-20 12:44:25684검색

How to Find the Script Element that Loaded the Current Script?

현재 스크립트를 로드한 스크립트 태그를 참조하는 방법

문제

현재 실행 중인 스크립트를 로드한 스크립트 요소를 가져오는 방법 ? 이는 HEAD 태그에 액세스할 필요 없이 DOM에 스크립트를 동적으로 로드하는 데 필요합니다.

답변

1. document.currentScript 사용:

이 메소드는 <script> 코드가 실행되는 요소

var me = document.currentScript;

2. ID로 스크립트 선택:

스크립트에 id 속성을 추가합니다.

<script>

document.getElementById()를 사용하여 요소를 가져옵니다.

var me = document.getElementById('myScript');

3. 데이터 속성으로 스크립트 선택:

스크립트에 data-* 속성을 추가합니다.

<script data-name="myScript"></script>

document.querySelector()를 사용하여 요소를 가져옵니다.

var me = document.querySelector('script[data-name="myScript"]');

4. 소스별 스크립트 선택:

<script src="//example.com/embed.js"></script>

embed.js에서:

var me = document.querySelector('script[src="//example.com/embed.js"]');

5. 모든 스크립트 반복:

var me = null;
var scripts = document.getElementsByTagName("script");
for (var i = 0; i < scripts.length; ++i) {
  if (isMe(scripts[i])) {
    me = scripts[i];
  }
}

function isMe(scriptElem) {
  return scriptElem.getAttribute('src') === "//example.com/embed.js";
}

6. 마지막으로 실행된 스크립트 가져오기:

var scripts = document.getElementsByTagName('script');
var me = scripts[scripts.length - 1];

위 내용은 현재 스크립트를 로드한 스크립트 요소를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.