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:
var origin_str = document.origin;
gdzie poszczególne człony oznaczają:
- origin_str - łańcuch znakowy reprezentujący pochodzenie dokumentu.
- document - dokument będący obiektem kontekstu.
W zależności od podejmowanej akcji muszą zostać wykonane następujące kroki:
Odczyt wartości atrybutu (getting):
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:
<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#
interface Document : Node { readonly attribute DOMString origin; };