Document (rozszerzenie)#

document.currentScript#

Właściwość currentScript zwraca dostęp do aktualnie wykonywanego elementu script w danym dokumencie. Będzie tak jedynie w przypadku bezpośredniego przetwarzania instrukcji w skrypcie. Właściwość jest tylko do odczytu.

Jeśli instrukcja umieszczona zostanie w wywołaniu zwrotnym (np. w zdarzeniach lub funkcjach czasowych) zwracana będzie wartość null. Kiedy obiekt document jest tworzony wartość właściwości zawsze ustawiona zostaje na null.

Prosty przykład:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
<!DOCTYPE html>
<html>

<head>

	<script>

		document.write("Rezultat bezpośredni ze skryptu: " + document.currentScript); // [object HTMLScriptElement] odwołanie bezpośrednie ze skryptu

		window.onload = function(){ // Odwołanie po załadnowaniu strony

			document.getElementById('rezultat1').textContent+=(document.currentScript);

		};

		setTimeout(function(){ // Odwołanie po określonym czasie

			document.getElementById('rezultat2').textContent+=(document.currentScript);

		}, 1000);

	</script>

</head>

<body>
	<form>
		<input type="button" value="Odpal zdarzenie" onclick="document.getElementById('rezultat3').textContent+=document.currentScript"></input>
	</form>
	<div id="rezultat1">Rezultat z window.onload: </div>
	<div id="rezultat2">Rezultat z setTimeout: </div>
	<div id="rezultat3">Rezultat z input.onclick: </div>
</body>

</html>

Polecenie jest specyficzne i z początku może wydawać się trudne do zrozumienia. W praktycznym aspekcie może przydać się do bezpośredniego odwołania do aktualnie wykonywanego skrypty przez sam skrypt, np. w celu pobrania jego kodu w postaci tekstowej i dalszej analizie (właściwości document.currentScript.textContent lub document.currentScript.innerHTML). Oczywiście w analogiczny sposób można odczytać wszystkie pozostałe właściwości przewidziane dla obiektu script). Prosty przykład:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
<script type="text/javascript">

	var a = 5, b = 7;
	var c = a + b;
	document.write("Kod skryptu:");
	document.write("<br><br>");
	document.write(document.currentScript.textContent); // Wypisanie całego kodu skryptu
	document.write("<br><br>");
	document.write("Atrybut type skryptu: ");
	document.write(document.currentScript.type); // text/javascript

</script>

Właściwość currentScript pojawia się dopiero w specyfikacji HTML5.

Interfejs Web IDL#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
readonly attribute HTMLScriptElement? currentScript;

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Document (rozszerzenie) (H1) document.currentScript (H2) Interfejs Web IDL (H3) Specyfikacje i inne materiały (H3)