Document#

Document.URL#

Właściwość URL 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.URL;

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ść URL 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.documentURI.

Trzeba wyraźnie zaznaczyć, że za pomocą właściwości URL 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ść URL zgodnie z najnowszymi wymaganiami specyfikacji DOM4. Pozostałe przeglądarki mają mniejsze lub większe problemy w tym obszarze.

Właściwość URL dla węzła typu Document pojawia się dopiero w specyfikacji DOM4. W przeszłości była ona definiowana dla interfejsu HTMLDocument w specyfikacji DOM Level 2 HTML.

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 URL;
};

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

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