Document#

Document.origin#

Właściwość origin zwraca pochodzenie 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 origin_str = document.origin;

gdzie poszczególne człony oznaczają:

W zależności od podejmowanej akcji muszą zostać wykonane następujące kroki:

Odczyt wartości atrybutu (getting):

  1. Zwróć wynik działania serializacji Unicode dla pochodzenia z przekazaniem pochodzenia skojarzonego z obiektem kontekstu.

W ramach uzupełnienia proponuję zapoznać się z ogólnymi informacjami o pochodzeniu zasobów.

Prosty przykład:

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

	function getInfoDoc(desc, whatDoc){

		doc.write(desc + "<br>");
		doc.write("Interfejs: " + whatDoc + "<br>");
		doc.write("origin: " + whatDoc.origin + "<br><br>"); // http://www.crimsteam.site90.net (Chrome), undefined (reszta)

	}

	var doc = document; // domyślny dokument tworzony przez parser HTML
	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){
		doc.write("Brak obsługi konstruktora new Document() dlatego zrzucony zostanie błąd:" + "<br>");
		doc.write(e + "<br>"); // opis zależny od przeglądarki
		doc.write(e.constructor + "<br><br>"); // function TypeError() { [native code] }
	}

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

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

</script>

Na chwilę obecną jedynie przeglądarka Chrome zaimplementowała właściwość origin, ale nie wydaje się, żeby była zgodna ze wszystkimi wymaganiami stawianymi przez poszczególne specyfikacje. Z drugiej jednak strony wciąż trwa dyskusja na temat dalszej przyszłości dla tej właściwości (DOM - Bug 28801, Mozilla - Bug 931884).

Właściwość origin pojawia się dopiero w specyfikacji DOM4.

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

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

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