Document#

Document.documentURI#

Właściwość documentURI zwraca adres URL dla danego dokumentu. Właściwość jest tylko do odczytu.

Opis działania#

Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
var url = document.documentURI;

gdzie poszczególne człony oznaczają:

Adres URL dla danego dokumentu może ulec zmianie z wartości domyślnej "about:blank" tylko i wyłącznie w czasie jego tworzenia za pośrednictwem parsera HTML lub parsera XML. Technicznie rzecz biorąc, to właściwość documentURI zawsze zwraca absolutny adres URL, którego ostateczna wartość może zależeć od obecności bazowego adresu URL w dokumencie.

Alternatywnie można skorzystać z identycznie działającej właściwości Document.URL.

Trzeba wyraźnie zaznaczyć, że za pomocą właściwości documentURI nie można zmienić aktualnie załadowanej strony. W razie potrzeby należy skorzystać z innych właściwości zależnych od kontekstu, jak chociażby z Window.location, Document.location, HTMLIFrameElement.src czy HTMLFrameElement.src definiowanych w specyfikacji HTML5.

Prosty przykład:

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

<body>

	<span id="info"></span>

	<script>

		function getInfoDoc(desc, whatDoc){

			info.innerHTML += desc + "<br>"
				+ "Interfejs: " + whatDoc + "<br>"
				+ "documentURI: " + whatDoc.documentURI + "<br>"
				+ "URL: " + whatDoc.URL + "<br><br>";

		}

		var doc = document; // domyślny dokument tworzony przez parser HTML
		var info = doc.getElementById("info");
		getInfoDoc("Parametry dla domyślnego dokumentu tworzonego przez parser HTML (właściwość document):", doc);

		try{
			var newDoc = new Document(); // nowy dokument
			getInfoDoc("Parametry dla new Document():", newDoc);
		}
		catch(e){
			info.innerHTML += "Brak obsługi konstruktora new Document() dlatego zrzucony zostanie błąd:" + "<br>"
				+ e + "<br>" // opis zależny od przeglądarki
				+ e.constructor + "<br><br>"; // function TypeError() { [native code] }
		}

		var newDocXML = document.implementation.createDocument(null, null, null); // nowy dokument XML
		getInfoDoc("Parametry dla createDocument(null, null, null):", newDocXML);

		var newDocHTML = document.implementation.createHTMLDocument(""); // nowy dokument HTML
		getInfoDoc("Parametry dla createHTMLDocument(''):", newDocHTML);

		var parser = new DOMParser(); // tworzymy nowy parser DOM

		var newDocHTMLParser = parser.parseFromString("", "text/html"); // nowy dokument HTML
		getInfoDoc("Parametry dla parseFromString('', 'text/html'):", newDocHTMLParser);

		var newDocXMLMLParser = parser.parseFromString("", "text/xml"); // nowy dokument XML
		getInfoDoc("Parametry dla parseFromString('', 'text/xml'):", newDocXMLMLParser);

		var newIframe = document.createElement("iframe"); // nowa ramka
		newIframe.src = "http://www.crimsteam.site90.net/pliki/ogolne/js/testerkodu1/testerkodu1.htm";
		document.documentElement.appendChild(newIframe);
		getInfoDoc("Parametry dla ramki (przed jej wczytaniem):", newIframe.contentDocument);

		window.onload = function(){
			getInfoDoc("Parametry dla ramki (po jej wczytaniu):", newIframe.contentDocument);

		}

	</script>

</body>

</html>

Na chwilę obecną jedynie przeglądarka Firefox obsługuje właściwość documentURI zgodnie z najnowszymi wymaganiami specyfikacji DOM4. Pozostałe przeglądarki mają mniejsze lub większe problemy w tym obszarze.

Składnia Web IDL#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
interface Document : Node {
	readonly attribute DOMString documentURI;
};

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Document (H1) Document.documentURI (H2) Opis działania (H3) Składnia Web IDL (H3) Specyfikacje i inne materiały (H3)