ホームページ > ウェブフロントエンド > jsチュートリアル > 現在のスクリプトをロードしたスクリプト要素を見つけるにはどうすればよいですか?

現在のスクリプトをロードしたスクリプト要素を見つけるにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-20 12:44:25
オリジナル
685 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート